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

Function main

interop/server/server.go:55–97  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

53)
54
55func main() {
56 flag.Parse()
57 if *useTLS && *useALTS {
58 logger.Fatal("-use_tls and -use_alts cannot be both set to true")
59 }
60 p := strconv.Itoa(*port)
61 lis, err := net.Listen("tcp", ":"+p)
62 if err != nil {
63 logger.Fatalf("failed to listen: %v", err)
64 }
65 logger.Infof("interop server listening on %v", lis.Addr())
66 opts := []grpc.ServerOption{orca.CallMetricsServerOption(nil)}
67 if *useTLS {
68 if *certFile == "" {
69 *certFile = testdata.Path("server1.pem")
70 }
71 if *keyFile == "" {
72 *keyFile = testdata.Path("server1.key")
73 }
74 creds, err := credentials.NewServerTLSFromFile(*certFile, *keyFile)
75 if err != nil {
76 logger.Fatalf("Failed to generate credentials: %v", err)
77 }
78 opts = append(opts, grpc.Creds(creds))
79 } else if *useALTS {
80 altsOpts := alts.DefaultServerOptions()
81 if *altsHSAddr != "" {
82 altsOpts.HandshakerServiceAddress = *altsHSAddr
83 }
84 altsTC := alts.NewServerCreds(altsOpts)
85 opts = append(opts, grpc.Creds(altsTC))
86 }
87 server := grpc.NewServer(opts...)
88 metricsRecorder := orca.NewServerMetricsRecorder()
89 sopts := orca.ServiceOptions{
90 MinReportingInterval: time.Second,
91 ServerMetricsProvider: metricsRecorder,
92 }
93 internal.ORCAAllowAnyMinReportingInterval.(func(*orca.ServiceOptions))(&sopts)
94 orca.Register(server, sopts)
95 testgrpc.RegisterTestServiceServer(server, interop.NewTestServer(interop.NewTestServerOptions{MetricsRecorder: metricsRecorder}))
96 server.Serve(lis)
97}

Callers

nothing calls this directly

Calls 15

ServeMethod · 0.95
CallMetricsServerOptionFunction · 0.92
PathFunction · 0.92
NewServerTLSFromFileFunction · 0.92
CredsFunction · 0.92
DefaultServerOptionsFunction · 0.92
NewServerCredsFunction · 0.92
NewServerFunction · 0.92
NewServerMetricsRecorderFunction · 0.92
RegisterFunction · 0.92
NewTestServerFunction · 0.92
ParseMethod · 0.65

Tested by

no test coverage detected