1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 01:57:12 -05:00

update generated protocol for grpc transport

This commit is contained in:
Shelikhoo 2024-09-07 17:00:01 +01:00 committed by Xiaokang Wang (Shelikhoo)
parent 2078480c4e
commit 3f419f93ec
4 changed files with 34 additions and 60 deletions

View File

@ -111,7 +111,7 @@ func file_transport_internet_grpc_config_proto_rawDescGZIP() []byte {
} }
var file_transport_internet_grpc_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_transport_internet_grpc_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_transport_internet_grpc_config_proto_goTypes = []interface{}{ var file_transport_internet_grpc_config_proto_goTypes = []any{
(*Config)(nil), // 0: v2ray.core.transport.internet.grpc.encoding.Config (*Config)(nil), // 0: v2ray.core.transport.internet.grpc.encoding.Config
} }
var file_transport_internet_grpc_config_proto_depIdxs = []int32{ var file_transport_internet_grpc_config_proto_depIdxs = []int32{
@ -128,7 +128,7 @@ func file_transport_internet_grpc_config_proto_init() {
return return
} }
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_transport_internet_grpc_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_transport_internet_grpc_config_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*Config); i { switch v := v.(*Config); i {
case 0: case 0:
return &v.state return &v.state

View File

@ -31,7 +31,7 @@ func (c *gunServiceClient) TunCustomName(ctx context.Context, name string, opts
if err != nil { if err != nil {
return nil, err return nil, err
} }
x := &gunServiceTunClient{stream} x := &grpc.GenericClientStream[Hunk, Hunk]{ClientStream: stream}
return x, nil return x, nil
} }

View File

@ -106,7 +106,7 @@ func file_transport_internet_grpc_encoding_stream_proto_rawDescGZIP() []byte {
} }
var file_transport_internet_grpc_encoding_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_transport_internet_grpc_encoding_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_transport_internet_grpc_encoding_stream_proto_goTypes = []interface{}{ var file_transport_internet_grpc_encoding_stream_proto_goTypes = []any{
(*Hunk)(nil), // 0: v2ray.core.transport.internet.grpc.encoding.Hunk (*Hunk)(nil), // 0: v2ray.core.transport.internet.grpc.encoding.Hunk
} }
var file_transport_internet_grpc_encoding_stream_proto_depIdxs = []int32{ var file_transport_internet_grpc_encoding_stream_proto_depIdxs = []int32{
@ -125,7 +125,7 @@ func file_transport_internet_grpc_encoding_stream_proto_init() {
return return
} }
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_transport_internet_grpc_encoding_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_transport_internet_grpc_encoding_stream_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*Hunk); i { switch v := v.(*Hunk); i {
case 0: case 0:
return &v.state return &v.state

View File

@ -9,8 +9,8 @@ import (
// This is a compile-time assertion to ensure that this generated file // This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against. // is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later. // Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion7 const _ = grpc.SupportPackageIsVersion9
const ( const (
GunService_Tun_FullMethodName = "/v2ray.core.transport.internet.grpc.encoding.GunService/Tun" GunService_Tun_FullMethodName = "/v2ray.core.transport.internet.grpc.encoding.GunService/Tun"
@ -20,7 +20,7 @@ const (
// //
// 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. // 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 GunServiceClient interface { type GunServiceClient interface {
Tun(ctx context.Context, opts ...grpc.CallOption) (GunService_TunClient, error) Tun(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[Hunk, Hunk], error)
} }
type gunServiceClient struct { type gunServiceClient struct {
@ -31,53 +31,39 @@ func NewGunServiceClient(cc grpc.ClientConnInterface) GunServiceClient {
return &gunServiceClient{cc} return &gunServiceClient{cc}
} }
func (c *gunServiceClient) Tun(ctx context.Context, opts ...grpc.CallOption) (GunService_TunClient, error) { func (c *gunServiceClient) Tun(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[Hunk, Hunk], error) {
stream, err := c.cc.NewStream(ctx, &GunService_ServiceDesc.Streams[0], GunService_Tun_FullMethodName, opts...) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
stream, err := c.cc.NewStream(ctx, &GunService_ServiceDesc.Streams[0], GunService_Tun_FullMethodName, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
x := &gunServiceTunClient{stream} x := &grpc.GenericClientStream[Hunk, Hunk]{ClientStream: stream}
return x, nil return x, nil
} }
type GunService_TunClient interface { // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
Send(*Hunk) error type GunService_TunClient = grpc.BidiStreamingClient[Hunk, Hunk]
Recv() (*Hunk, error)
grpc.ClientStream
}
type gunServiceTunClient struct {
grpc.ClientStream
}
func (x *gunServiceTunClient) Send(m *Hunk) error {
return x.ClientStream.SendMsg(m)
}
func (x *gunServiceTunClient) Recv() (*Hunk, error) {
m := new(Hunk)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// GunServiceServer is the server API for GunService service. // GunServiceServer is the server API for GunService service.
// All implementations must embed UnimplementedGunServiceServer // All implementations must embed UnimplementedGunServiceServer
// for forward compatibility // for forward compatibility.
type GunServiceServer interface { type GunServiceServer interface {
Tun(GunService_TunServer) error Tun(grpc.BidiStreamingServer[Hunk, Hunk]) error
mustEmbedUnimplementedGunServiceServer() mustEmbedUnimplementedGunServiceServer()
} }
// UnimplementedGunServiceServer must be embedded to have forward compatible implementations. // UnimplementedGunServiceServer must be embedded to have
type UnimplementedGunServiceServer struct { // forward compatible implementations.
} //
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedGunServiceServer struct{}
func (UnimplementedGunServiceServer) Tun(GunService_TunServer) error { func (UnimplementedGunServiceServer) Tun(grpc.BidiStreamingServer[Hunk, Hunk]) error {
return status.Errorf(codes.Unimplemented, "method Tun not implemented") return status.Errorf(codes.Unimplemented, "method Tun not implemented")
} }
func (UnimplementedGunServiceServer) mustEmbedUnimplementedGunServiceServer() {} func (UnimplementedGunServiceServer) mustEmbedUnimplementedGunServiceServer() {}
func (UnimplementedGunServiceServer) testEmbeddedByValue() {}
// UnsafeGunServiceServer may be embedded to opt out of forward compatibility for this service. // UnsafeGunServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to GunServiceServer will // Use of this interface is not recommended, as added methods to GunServiceServer will
@ -87,34 +73,22 @@ type UnsafeGunServiceServer interface {
} }
func RegisterGunServiceServer(s grpc.ServiceRegistrar, srv GunServiceServer) { func RegisterGunServiceServer(s grpc.ServiceRegistrar, srv GunServiceServer) {
// If the following call pancis, it indicates UnimplementedGunServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&GunService_ServiceDesc, srv) s.RegisterService(&GunService_ServiceDesc, srv)
} }
func _GunService_Tun_Handler(srv interface{}, stream grpc.ServerStream) error { func _GunService_Tun_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(GunServiceServer).Tun(&gunServiceTunServer{stream}) return srv.(GunServiceServer).Tun(&grpc.GenericServerStream[Hunk, Hunk]{ServerStream: stream})
} }
type GunService_TunServer interface { // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
Send(*Hunk) error type GunService_TunServer = grpc.BidiStreamingServer[Hunk, Hunk]
Recv() (*Hunk, error)
grpc.ServerStream
}
type gunServiceTunServer struct {
grpc.ServerStream
}
func (x *gunServiceTunServer) Send(m *Hunk) error {
return x.ServerStream.SendMsg(m)
}
func (x *gunServiceTunServer) Recv() (*Hunk, error) {
m := new(Hunk)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// GunService_ServiceDesc is the grpc.ServiceDesc for GunService service. // GunService_ServiceDesc is the grpc.ServiceDesc for GunService service.
// It's only intended for direct use with grpc.RegisterService, // It's only intended for direct use with grpc.RegisterService,