in pkg/csi_driver/server.go [69:103]
func (s *nonBlockingGRPCServer) serve(endpoint string, ids csi.IdentityServer, cs csi.ControllerServer, ns csi.NodeServer) {
scheme, addr, err := util.ParseEndpoint(endpoint, true)
if err != nil {
klog.Fatalf("failed to parse endpoint %v", err)
}
klog.Infof("Start listening with scheme %v, addr %v", scheme, addr)
listener, err := net.Listen(scheme, addr)
if err != nil {
klog.Fatalf("Failed to listen: %v", err)
}
opts := []grpc.ServerOption{
grpc.UnaryInterceptor(logGRPC),
}
server := grpc.NewServer(opts...)
s.server = server
if ids != nil {
csi.RegisterIdentityServer(server, ids)
}
if cs != nil {
csi.RegisterControllerServer(server, cs)
}
if ns != nil {
csi.RegisterNodeServer(server, ns)
}
klog.Infof("Listening for connections on address: %#v", listener.Addr())
err = server.Serve(listener)
if err != nil {
klog.Fatal(err.Error())
}
}