MCPcopy
hub / github.com/grpc/grpc-go / startBackends

Function startBackends

balancer/grpclb/grpclb_test.go:305–334  ·  balancer/grpclb/grpclb_test.go::startBackends
(t *testing.T, sn string, fallback bool, lis ...net.Listener)

Source from the content-addressed store, hash-verified

303const testmdkey = "testmd"
304
305func startBackends(t *testing.T, sn string, fallback bool, lis ...net.Listener) (servers []*grpc.Server) {
306 for _, l := range lis {
307 creds := &serverNameCheckCreds{
308 sn: sn,
309 }
310 ss := &stubserver.StubServer{
311 Listener: l,
312 EmptyCallF: func(ctx context.Context, _ *testpb.Empty) (*testpb.Empty, error) {
313 md, ok := metadata.FromIncomingContext(ctx)
314 if !ok {
315 return nil, status.Error(codes.Internal, "failed to receive metadata")
316 }
317 if !fallback && (md == nil || len(md["lb-token"]) == 0 || md["lb-token"][0] != lbToken) {
318 return nil, status.Errorf(codes.Internal, "received unexpected metadata: %v", md)
319 }
320 grpc.SetTrailer(ctx, metadata.Pairs(testmdkey, l.Addr().String()))
321 return &testpb.Empty{}, nil
322 },
323 FullDuplexCallF: func(testgrpc.TestService_FullDuplexCallServer) error {
324 return nil
325 },
326 }
327 if err := ss.StartServer(grpc.Creds(creds)); err != nil {
328 t.Fatalf("Failed to start backend: %v", err)
329 }
330 servers = append(servers, ss.S.(*grpc.Server))
331 t.Logf("Started backend server listening on %s", l.Addr().String())
332 }
333 return
334}
335
336func stopBackends(servers []*grpc.Server) {
337 for _, s := range servers {

Calls 11

StartServerMethod · 0.95
FromIncomingContextFunction · 0.92
ErrorFunction · 0.92
ErrorfFunction · 0.92
SetTrailerFunction · 0.92
PairsFunction · 0.92
CredsFunction · 0.92
StringMethod · 0.65
FatalfMethod · 0.65
LogfMethod · 0.65
AddrMethod · 0.45

Tested by

no test coverage detected