From baa7d1a15f387101714c8622d2564621c5c51b39 Mon Sep 17 00:00:00 2001 From: Ori Newman Date: Sat, 18 Jan 2025 11:23:03 +0200 Subject: [PATCH] Upgrade protos using latest protoc --- .../grpcserver/protowire/messages.pb.go | 4 +- .../grpcserver/protowire/messages_grpc.pb.go | 176 +++++++++++------- .../server/grpcserver/protowire/p2p.pb.go | 4 +- .../server/grpcserver/protowire/rpc.pb.go | 4 +- 4 files changed, 116 insertions(+), 72 deletions(-) diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go index 1581e6afa..2f1096cee 100644 --- a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go +++ b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 -// protoc v3.21.12 +// protoc-gen-go v1.36.2 +// protoc v3.12.3 // source: messages.proto package protowire diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/messages_grpc.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/messages_grpc.pb.go index 3d6c51f63..9db8b8501 100644 --- a/infrastructure/network/netadapter/server/grpcserver/protowire/messages_grpc.pb.go +++ b/infrastructure/network/netadapter/server/grpcserver/protowire/messages_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.5.1 -// - protoc v3.21.12 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.3 // source: messages.proto package protowire @@ -15,18 +15,14 @@ import ( // 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.64.0 or later. -const _ = grpc.SupportPackageIsVersion9 - -const ( - P2P_MessageStream_FullMethodName = "/protowire.P2P/MessageStream" -) +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 // P2PClient is the client API for P2P 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 P2PClient interface { - MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) + MessageStream(ctx context.Context, opts ...grpc.CallOption) (P2P_MessageStreamClient, error) } type p2PClient struct { @@ -37,39 +33,53 @@ func NewP2PClient(cc grpc.ClientConnInterface) P2PClient { return &p2PClient{cc} } -func (c *p2PClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &P2P_ServiceDesc.Streams[0], P2P_MessageStream_FullMethodName, cOpts...) +func (c *p2PClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (P2P_MessageStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &P2P_ServiceDesc.Streams[0], "/protowire.P2P/MessageStream", opts...) if err != nil { return nil, err } - x := &grpc.GenericClientStream[KaspadMessage, KaspadMessage]{ClientStream: stream} + x := &p2PMessageStreamClient{stream} return x, nil } -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type P2P_MessageStreamClient = grpc.BidiStreamingClient[KaspadMessage, KaspadMessage] +type P2P_MessageStreamClient interface { + Send(*KaspadMessage) error + Recv() (*KaspadMessage, error) + grpc.ClientStream +} + +type p2PMessageStreamClient struct { + grpc.ClientStream +} + +func (x *p2PMessageStreamClient) Send(m *KaspadMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *p2PMessageStreamClient) Recv() (*KaspadMessage, error) { + m := new(KaspadMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} // P2PServer is the server API for P2P service. // All implementations must embed UnimplementedP2PServer -// for forward compatibility. +// for forward compatibility type P2PServer interface { - MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error + MessageStream(P2P_MessageStreamServer) error mustEmbedUnimplementedP2PServer() } -// UnimplementedP2PServer must be embedded to have -// forward compatible implementations. -// -// NOTE: this should be embedded by value instead of pointer to avoid a nil -// pointer dereference when methods are called. -type UnimplementedP2PServer struct{} +// UnimplementedP2PServer must be embedded to have forward compatible implementations. +type UnimplementedP2PServer struct { +} -func (UnimplementedP2PServer) MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error { +func (UnimplementedP2PServer) MessageStream(P2P_MessageStreamServer) error { return status.Errorf(codes.Unimplemented, "method MessageStream not implemented") } func (UnimplementedP2PServer) mustEmbedUnimplementedP2PServer() {} -func (UnimplementedP2PServer) testEmbeddedByValue() {} // UnsafeP2PServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to P2PServer will @@ -79,22 +89,34 @@ type UnsafeP2PServer interface { } func RegisterP2PServer(s grpc.ServiceRegistrar, srv P2PServer) { - // If the following call pancis, it indicates UnimplementedP2PServer 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(&P2P_ServiceDesc, srv) } func _P2P_MessageStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(P2PServer).MessageStream(&grpc.GenericServerStream[KaspadMessage, KaspadMessage]{ServerStream: stream}) + return srv.(P2PServer).MessageStream(&p2PMessageStreamServer{stream}) } -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type P2P_MessageStreamServer = grpc.BidiStreamingServer[KaspadMessage, KaspadMessage] +type P2P_MessageStreamServer interface { + Send(*KaspadMessage) error + Recv() (*KaspadMessage, error) + grpc.ServerStream +} + +type p2PMessageStreamServer struct { + grpc.ServerStream +} + +func (x *p2PMessageStreamServer) Send(m *KaspadMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *p2PMessageStreamServer) Recv() (*KaspadMessage, error) { + m := new(KaspadMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} // P2P_ServiceDesc is the grpc.ServiceDesc for P2P service. // It's only intended for direct use with grpc.RegisterService, @@ -114,15 +136,11 @@ var P2P_ServiceDesc = grpc.ServiceDesc{ Metadata: "messages.proto", } -const ( - RPC_MessageStream_FullMethodName = "/protowire.RPC/MessageStream" -) - // RPCClient is the client API for RPC 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 RPCClient interface { - MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) + MessageStream(ctx context.Context, opts ...grpc.CallOption) (RPC_MessageStreamClient, error) } type rPCClient struct { @@ -133,39 +151,53 @@ func NewRPCClient(cc grpc.ClientConnInterface) RPCClient { return &rPCClient{cc} } -func (c *rPCClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[KaspadMessage, KaspadMessage], error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &RPC_ServiceDesc.Streams[0], RPC_MessageStream_FullMethodName, cOpts...) +func (c *rPCClient) MessageStream(ctx context.Context, opts ...grpc.CallOption) (RPC_MessageStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &RPC_ServiceDesc.Streams[0], "/protowire.RPC/MessageStream", opts...) if err != nil { return nil, err } - x := &grpc.GenericClientStream[KaspadMessage, KaspadMessage]{ClientStream: stream} + x := &rPCMessageStreamClient{stream} return x, nil } -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type RPC_MessageStreamClient = grpc.BidiStreamingClient[KaspadMessage, KaspadMessage] +type RPC_MessageStreamClient interface { + Send(*KaspadMessage) error + Recv() (*KaspadMessage, error) + grpc.ClientStream +} + +type rPCMessageStreamClient struct { + grpc.ClientStream +} + +func (x *rPCMessageStreamClient) Send(m *KaspadMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *rPCMessageStreamClient) Recv() (*KaspadMessage, error) { + m := new(KaspadMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} // RPCServer is the server API for RPC service. // All implementations must embed UnimplementedRPCServer -// for forward compatibility. +// for forward compatibility type RPCServer interface { - MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error + MessageStream(RPC_MessageStreamServer) error mustEmbedUnimplementedRPCServer() } -// UnimplementedRPCServer must be embedded to have -// forward compatible implementations. -// -// NOTE: this should be embedded by value instead of pointer to avoid a nil -// pointer dereference when methods are called. -type UnimplementedRPCServer struct{} +// UnimplementedRPCServer must be embedded to have forward compatible implementations. +type UnimplementedRPCServer struct { +} -func (UnimplementedRPCServer) MessageStream(grpc.BidiStreamingServer[KaspadMessage, KaspadMessage]) error { +func (UnimplementedRPCServer) MessageStream(RPC_MessageStreamServer) error { return status.Errorf(codes.Unimplemented, "method MessageStream not implemented") } func (UnimplementedRPCServer) mustEmbedUnimplementedRPCServer() {} -func (UnimplementedRPCServer) testEmbeddedByValue() {} // UnsafeRPCServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to RPCServer will @@ -175,22 +207,34 @@ type UnsafeRPCServer interface { } func RegisterRPCServer(s grpc.ServiceRegistrar, srv RPCServer) { - // If the following call pancis, it indicates UnimplementedRPCServer 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(&RPC_ServiceDesc, srv) } func _RPC_MessageStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(RPCServer).MessageStream(&grpc.GenericServerStream[KaspadMessage, KaspadMessage]{ServerStream: stream}) + return srv.(RPCServer).MessageStream(&rPCMessageStreamServer{stream}) } -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type RPC_MessageStreamServer = grpc.BidiStreamingServer[KaspadMessage, KaspadMessage] +type RPC_MessageStreamServer interface { + Send(*KaspadMessage) error + Recv() (*KaspadMessage, error) + grpc.ServerStream +} + +type rPCMessageStreamServer struct { + grpc.ServerStream +} + +func (x *rPCMessageStreamServer) Send(m *KaspadMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *rPCMessageStreamServer) Recv() (*KaspadMessage, error) { + m := new(KaspadMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} // RPC_ServiceDesc is the grpc.ServiceDesc for RPC service. // It's only intended for direct use with grpc.RegisterService, diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/p2p.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/p2p.pb.go index 8977f68de..a6cd5b521 100644 --- a/infrastructure/network/netadapter/server/grpcserver/protowire/p2p.pb.go +++ b/infrastructure/network/netadapter/server/grpcserver/protowire/p2p.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 -// protoc v3.21.12 +// protoc-gen-go v1.36.2 +// protoc v3.12.3 // source: p2p.proto package protowire diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go index f30fb5b14..1fcdddbc0 100644 --- a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go +++ b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.1 -// protoc v3.21.12 +// protoc-gen-go v1.36.2 +// protoc v3.12.3 // source: rpc.proto package protowire