customSeviceName.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //go:build !confonly
  2. // +build !confonly
  3. package encoding
  4. import (
  5. "context"
  6. "google.golang.org/grpc"
  7. )
  8. func ServerDesc(name string) grpc.ServiceDesc {
  9. return grpc.ServiceDesc{
  10. ServiceName: name,
  11. HandlerType: (*GunServiceServer)(nil),
  12. Methods: []grpc.MethodDesc{},
  13. Streams: []grpc.StreamDesc{
  14. {
  15. StreamName: "Tun",
  16. Handler: _GunService_Tun_Handler,
  17. ServerStreams: true,
  18. ClientStreams: true,
  19. },
  20. },
  21. Metadata: "gun.proto",
  22. }
  23. }
  24. func (c *gunServiceClient) TunCustomName(ctx context.Context, name string, opts ...grpc.CallOption) (GunService_TunClient, error) {
  25. stream, err := c.cc.NewStream(ctx, &ServerDesc(name).Streams[0], "/"+name+"/Tun", opts...)
  26. if err != nil {
  27. return nil, err
  28. }
  29. x := &grpc.GenericClientStream[Hunk, Hunk]{ClientStream: stream}
  30. return x, nil
  31. }
  32. type GunServiceClientX interface {
  33. TunCustomName(ctx context.Context, name string, opts ...grpc.CallOption) (GunService_TunClient, error)
  34. Tun(ctx context.Context, opts ...grpc.CallOption) (GunService_TunClient, error)
  35. }
  36. func RegisterGunServiceServerX(s *grpc.Server, srv GunServiceServer, name string) {
  37. desc := ServerDesc(name)
  38. s.RegisterService(&desc, srv)
  39. }