// Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 // - protoc v6.33.0 // source: proto/relay.proto package proto import ( context "context" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" ) // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 // InternalRelayClient is the client API for InternalRelay service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type InternalRelayClient interface { // ProxyRequest 是一个双向流式 RPC。 // "stream" 关键字表示客户端和服务器都可以连续地发送一系列消息, // 这对于传输大文件或实时数据流(如视频)至关重要,可以避免将整个内容加载到内存中。 ProxyRequest(ctx context.Context, opts ...grpc.CallOption) (InternalRelay_ProxyRequestClient, error) } type internalRelayClient struct { cc grpc.ClientConnInterface } func NewInternalRelayClient(cc grpc.ClientConnInterface) InternalRelayClient { return &internalRelayClient{cc} } func (c *internalRelayClient) ProxyRequest(ctx context.Context, opts ...grpc.CallOption) (InternalRelay_ProxyRequestClient, error) { stream, err := c.cc.NewStream(ctx, &InternalRelay_ServiceDesc.Streams[0], "/relay.InternalRelay/ProxyRequest", opts...) if err != nil { return nil, err } x := &internalRelayProxyRequestClient{stream} return x, nil } type InternalRelay_ProxyRequestClient interface { Send(*ProxyRequestMessage) error Recv() (*ProxyResponseMessage, error) grpc.ClientStream } type internalRelayProxyRequestClient struct { grpc.ClientStream } func (x *internalRelayProxyRequestClient) Send(m *ProxyRequestMessage) error { return x.ClientStream.SendMsg(m) } func (x *internalRelayProxyRequestClient) Recv() (*ProxyResponseMessage, error) { m := new(ProxyResponseMessage) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // InternalRelayServer is the server API for InternalRelay service. // All implementations must embed UnimplementedInternalRelayServer // for forward compatibility type InternalRelayServer interface { // ProxyRequest 是一个双向流式 RPC。 // "stream" 关键字表示客户端和服务器都可以连续地发送一系列消息, // 这对于传输大文件或实时数据流(如视频)至关重要,可以避免将整个内容加载到内存中。 ProxyRequest(InternalRelay_ProxyRequestServer) error mustEmbedUnimplementedInternalRelayServer() } // UnimplementedInternalRelayServer must be embedded to have forward compatible implementations. type UnimplementedInternalRelayServer struct { } func (UnimplementedInternalRelayServer) ProxyRequest(InternalRelay_ProxyRequestServer) error { return status.Errorf(codes.Unimplemented, "method ProxyRequest not implemented") } func (UnimplementedInternalRelayServer) mustEmbedUnimplementedInternalRelayServer() {} // UnsafeInternalRelayServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to InternalRelayServer will // result in compilation errors. type UnsafeInternalRelayServer interface { mustEmbedUnimplementedInternalRelayServer() } func RegisterInternalRelayServer(s grpc.ServiceRegistrar, srv InternalRelayServer) { s.RegisterService(&InternalRelay_ServiceDesc, srv) } func _InternalRelay_ProxyRequest_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(InternalRelayServer).ProxyRequest(&internalRelayProxyRequestServer{stream}) } type InternalRelay_ProxyRequestServer interface { Send(*ProxyResponseMessage) error Recv() (*ProxyRequestMessage, error) grpc.ServerStream } type internalRelayProxyRequestServer struct { grpc.ServerStream } func (x *internalRelayProxyRequestServer) Send(m *ProxyResponseMessage) error { return x.ServerStream.SendMsg(m) } func (x *internalRelayProxyRequestServer) Recv() (*ProxyRequestMessage, error) { m := new(ProxyRequestMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // InternalRelay_ServiceDesc is the grpc.ServiceDesc for InternalRelay service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var InternalRelay_ServiceDesc = grpc.ServiceDesc{ ServiceName: "relay.InternalRelay", HandlerType: (*InternalRelayServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "ProxyRequest", Handler: _InternalRelay_ProxyRequest_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "proto/relay.proto", }