customSeviceName.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package encoding
  2. import (
  3. "context"
  4. "google.golang.org/grpc"
  5. )
  6. func ServerDesc(name, tun, tunMulti string) grpc.ServiceDesc {
  7. return grpc.ServiceDesc{
  8. ServiceName: name,
  9. HandlerType: (*GRPCServiceServer)(nil),
  10. Methods: []grpc.MethodDesc{},
  11. Streams: []grpc.StreamDesc{
  12. {
  13. StreamName: tun,
  14. Handler: _GRPCService_Tun_Handler,
  15. ServerStreams: true,
  16. ClientStreams: true,
  17. },
  18. {
  19. StreamName: tunMulti,
  20. Handler: _GRPCService_TunMulti_Handler,
  21. ServerStreams: true,
  22. ClientStreams: true,
  23. },
  24. },
  25. Metadata: "grpc.proto",
  26. }
  27. }
  28. func (c *gRPCServiceClient) TunCustomName(ctx context.Context, name, tun string, opts ...grpc.CallOption) (GRPCService_TunClient, error) {
  29. stream, err := c.cc.NewStream(ctx, &ServerDesc(name, tun, "").Streams[0], "/"+name+"/"+tun, opts...)
  30. if err != nil {
  31. return nil, err
  32. }
  33. x := &gRPCServiceTunClient{stream}
  34. return x, nil
  35. }
  36. func (c *gRPCServiceClient) TunMultiCustomName(ctx context.Context, name, tunMulti string, opts ...grpc.CallOption) (GRPCService_TunMultiClient, error) {
  37. stream, err := c.cc.NewStream(ctx, &ServerDesc(name, "", tunMulti).Streams[1], "/"+name+"/"+tunMulti, opts...)
  38. if err != nil {
  39. return nil, err
  40. }
  41. x := &gRPCServiceTunMultiClient{stream}
  42. return x, nil
  43. }
  44. type GRPCServiceClientX interface {
  45. TunCustomName(ctx context.Context, name, tun string, opts ...grpc.CallOption) (GRPCService_TunClient, error)
  46. TunMultiCustomName(ctx context.Context, name, tunMulti string, opts ...grpc.CallOption) (GRPCService_TunMultiClient, error)
  47. Tun(ctx context.Context, opts ...grpc.CallOption) (GRPCService_TunClient, error)
  48. TunMulti(ctx context.Context, opts ...grpc.CallOption) (GRPCService_TunMultiClient, error)
  49. }
  50. func RegisterGRPCServiceServerX(s *grpc.Server, srv GRPCServiceServer, name, tun, tunMulti string) {
  51. desc := ServerDesc(name, tun, tunMulti)
  52. s.RegisterService(&desc, srv)
  53. }