func()

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())
	}
}