This is an automated email from the ASF dual-hosted git repository. joezou pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 7e1b8b12e991828c973eeb29c42939aa8c33d6ad Author: 382673...@qq.com <382673...@qq.com> AuthorDate: Fri Oct 16 17:35:13 2020 +0800 feat: add grpc stream sample --- general/grpc/{ => stream}/go-client/app/Makefile | 0 general/grpc/{ => stream}/go-client/app/client.go | 75 +++- general/grpc/{ => stream}/go-client/app/hello.go | 11 +- general/grpc/stream/go-client/app/helloworld.pb.go | 472 +++++++++++++++++++++ .../{ => stream}/go-client/app/helloworld.proto | 4 +- .../{go-server => stream/go-client}/app/version.go | 0 .../{ => stream}/go-client/assembly/bin/load.sh | 0 .../go-client/assembly/common/app.properties | 0 .../go-client/assembly/common/build.sh | 0 .../{ => stream}/go-client/assembly/linux/dev.sh | 0 .../go-client/assembly/linux/release.sh | 0 .../{ => stream}/go-client/assembly/linux/test.sh | 0 .../{ => stream}/go-client/assembly/mac/dev.sh | 0 .../{ => stream}/go-client/assembly/mac/release.sh | 0 .../{ => stream}/go-client/assembly/mac/test.sh | 0 .../{ => stream}/go-client/assembly/windows/dev.sh | 0 .../go-client/assembly/windows/release.sh | 0 .../go-client/assembly/windows/test.sh | 0 .../{ => stream}/go-client/profiles/dev/client.yml | 0 .../go-client}/profiles/dev/log.yml | 0 .../go-client/profiles/release/client.yml | 0 .../go-client}/profiles/release/log.yml | 0 .../go-client/profiles/test/client.yml | 0 .../go-client}/profiles/test/log.yml | 0 general/grpc/stream/go-server/app/greeter.go | 101 +++++ general/grpc/stream/go-server/app/helloworld.pb.go | 472 +++++++++++++++++++++ .../go-server}/app/helloworld.proto | 4 +- general/grpc/{ => stream}/go-server/app/server.go | 0 .../{go-client => stream/go-server}/app/version.go | 0 .../{ => stream}/go-server/assembly/bin/load.sh | 0 .../go-server/assembly/common/app.properties | 0 .../go-server/assembly/common/build.sh | 0 .../{ => stream}/go-server/assembly/linux/dev.sh | 0 .../go-server/assembly/linux/release.sh | 0 .../{ => stream}/go-server/assembly/linux/test.sh | 0 .../{ => stream}/go-server/assembly/mac/dev.sh | 0 .../{ => stream}/go-server/assembly/mac/release.sh | 0 .../{ => stream}/go-server/assembly/mac/test.sh | 0 .../{ => stream}/go-server/assembly/windows/dev.sh | 0 .../go-server/assembly/windows/release.sh | 0 .../go-server/assembly/windows/test.sh | 0 .../go-server}/profiles/dev/log.yml | 0 .../{ => stream}/go-server/profiles/dev/server.yml | 0 .../go-server}/profiles/release/log.yml | 0 .../go-server/profiles/release/server.yml | 0 .../go-server}/profiles/test/log.yml | 0 .../go-server/profiles/test/server.yml | 0 general/grpc/{ => unary}/go-client/app/Makefile | 0 general/grpc/{ => unary}/go-client/app/client.go | 13 +- general/grpc/{ => unary}/go-client/app/hello.go | 0 .../go-client}/app/helloworld.pb.go | 0 .../go-client}/app/helloworld.proto | 0 .../{go-server => unary/go-client}/app/version.go | 0 .../{ => unary}/go-client/assembly/bin/load.sh | 0 .../go-client/assembly/common/app.properties | 0 .../{ => unary}/go-client/assembly/common/build.sh | 0 .../{ => unary}/go-client/assembly/linux/dev.sh | 0 .../go-client/assembly/linux/release.sh | 0 .../{ => unary}/go-client/assembly/linux/test.sh | 0 .../grpc/{ => unary}/go-client/assembly/mac/dev.sh | 0 .../{ => unary}/go-client/assembly/mac/release.sh | 0 .../{ => unary}/go-client/assembly/mac/test.sh | 0 .../{ => unary}/go-client/assembly/windows/dev.sh | 0 .../go-client/assembly/windows/release.sh | 0 .../{ => unary}/go-client/assembly/windows/test.sh | 0 .../{ => unary}/go-client/profiles/dev/client.yml | 0 .../go-client}/profiles/dev/log.yml | 0 .../go-client/profiles/release/client.yml | 0 .../go-client}/profiles/release/log.yml | 0 .../{ => unary}/go-client/profiles/test/client.yml | 0 .../go-client}/profiles/test/log.yml | 0 general/grpc/{ => unary}/go-server/app/greeter.go | 0 .../go-server}/app/helloworld.pb.go | 0 .../go-server}/app/helloworld.proto | 0 general/grpc/{ => unary}/go-server/app/server.go | 0 general/grpc/{ => unary}/go-server/app/version.go | 0 .../{ => unary}/go-server/assembly/bin/load.sh | 0 .../go-server/assembly/common/app.properties | 0 .../{ => unary}/go-server/assembly/common/build.sh | 0 .../{ => unary}/go-server/assembly/linux/dev.sh | 0 .../go-server/assembly/linux/release.sh | 0 .../{ => unary}/go-server/assembly/linux/test.sh | 0 .../grpc/{ => unary}/go-server/assembly/mac/dev.sh | 0 .../{ => unary}/go-server/assembly/mac/release.sh | 0 .../{ => unary}/go-server/assembly/mac/test.sh | 0 .../{ => unary}/go-server/assembly/windows/dev.sh | 0 .../go-server/assembly/windows/release.sh | 0 .../{ => unary}/go-server/assembly/windows/test.sh | 0 .../{ => unary}/go-server/profiles/dev/log.yml | 0 .../{ => unary}/go-server/profiles/dev/server.yml | 0 .../{ => unary}/go-server/profiles/release/log.yml | 0 .../go-server/profiles/release/server.yml | 0 .../{ => unary}/go-server/profiles/test/log.yml | 0 .../{ => unary}/go-server/profiles/test/server.yml | 0 general/grpc/{ => unary}/java-client/build.sh | 0 general/grpc/{ => unary}/java-client/pom.xml | 0 .../java-client/src/main/assembly/assembly.xml | 0 .../src/main/assembly/conf/dubbo.properties | 0 .../src/main/assembly/conf}/log4j.properties | 0 .../src/main/java/com/ikurento/user/Consumer.java | 0 .../java-client}/src/main/proto/UserService.proto | 0 .../resources/META-INF/spring/dubbo.consumer.xml | 0 .../src/main/resources/META-INF/spring/service.xml | 0 .../src/main/resources}/log4j.properties | 0 general/grpc/{ => unary}/java-server/build.sh | 0 general/grpc/{ => unary}/java-server/pom.xml | 0 .../grpc/{ => unary}/java-server/script/debug.sh | 0 .../java-server/src/main/assembly/assembly.xml | 0 .../java-server/src/main/assembly/bin/start.bat | 0 .../java-server/src/main/assembly/bin/start.sh | 0 .../src/main/assembly/conf/dubbo.properties | 0 .../src/main/assembly/conf}/log4j.properties | 0 .../src/main/java/com/ikurento/user/Provider.java | 0 .../java/com/ikurento/user/UserProviderImpl.java | 0 .../java-server}/src/main/proto/UserService.proto | 0 .../resources/META-INF/spring/dubbo.provider.xml | 0 .../src/main/resources}/log4j.properties | 0 go.mod | 6 +- 118 files changed, 1131 insertions(+), 27 deletions(-) diff --git a/general/grpc/go-client/app/Makefile b/general/grpc/stream/go-client/app/Makefile similarity index 100% copy from general/grpc/go-client/app/Makefile copy to general/grpc/stream/go-client/app/Makefile diff --git a/general/grpc/go-client/app/client.go b/general/grpc/stream/go-client/app/client.go similarity index 56% copy from general/grpc/go-client/app/client.go copy to general/grpc/stream/go-client/app/client.go index d8634b7..4fe3a9f 100644 --- a/general/grpc/go-client/app/client.go +++ b/general/grpc/stream/go-client/app/client.go @@ -24,23 +24,26 @@ import ( "os/signal" "syscall" "time" -) - -import ( - "github.com/dubbogo/gost/log" -) -import ( _ "github.com/apache/dubbo-go/cluster/cluster_impl" + _ "github.com/apache/dubbo-go/cluster/loadbalance" "github.com/apache/dubbo-go/common/logger" + _ "github.com/apache/dubbo-go/common/proxy/proxy_factory" "github.com/apache/dubbo-go/config" + _ "github.com/apache/dubbo-go/filter/filter_impl" + _ "github.com/apache/dubbo-go/protocol/dubbo" + _ "github.com/apache/dubbo-go/protocol/grpc" + _ "github.com/apache/dubbo-go/registry/protocol" + _ "github.com/apache/dubbo-go/registry/zookeeper" + + gxlog "github.com/dubbogo/gost/log" ) var ( @@ -54,16 +57,68 @@ func main() { config.Load() time.Sleep(time.Second) - gxlog.CInfo("\n\n\nstart to test dubbo") + gxlog.CInfo("\n\n\n===== start to test SayHelloTwoSidesStream ======") reply := &HelloReply{} - req := &HelloRequest{ - Name: "xujianhai", + stream, err := grpcGreeterImpl.SayHelloTwoSidesStream(context.TODO()) + if err != nil { + logger.Errorf("stream get err = %s", err.Error()) + return + } + + if err := stream.Send(&HelloRequest{Name: "request 1"}); err != nil { + logger.Errorf("send stream req err = %s", err.Error()) + } + if err := stream.Send(&HelloRequest{Name: "request 2"}); err != nil { + logger.Errorf("send stream req err = %s", err.Error()) } - err := grpcGreeterImpl.SayHello(context.TODO(), req, reply) + reply, err = stream.Recv() if err != nil { panic(err) } gxlog.CInfo("client response result: %v\n", reply) + reply, err = stream.Recv() + if err != nil { + panic(err) + } + gxlog.CInfo("client response result: %v\n", reply) + + gxlog.CInfo("\n\n\n===== start to test SayHelloClientStream =====") + clientStream, err := grpcGreeterImpl.SayHelloClientStream(context.TODO()) + if err != nil { + logger.Errorf("stream get err = %s", err.Error()) + return + } + + if err := clientStream.Send(&HelloRequest{Name: "request 1"}); err != nil { + logger.Errorf("send stream req err = %s", err.Error()) + } + if err := clientStream.Send(&HelloRequest{Name: "request 2"}); err != nil { + logger.Errorf("send stream req err = %s", err.Error()) + } + err = clientStream.RecvMsg(reply) + if err != nil { + panic(err) + } + gxlog.CInfo("client response result: %v\n", reply) + + gxlog.CInfo("\n\n\n===== start to test SayHelloServerStream =====") + req := &HelloRequest{} + serverStream, err := grpcGreeterImpl.SayHelloServerStream(context.TODO(), req) + if err != nil { + logger.Errorf("stream get err = %s", err.Error()) + return + } + reply, err = serverStream.Recv() + if err != nil { + panic(err) + } + gxlog.CInfo("client response result: %v\n", reply) + reply, err = serverStream.Recv() + if err != nil { + panic(err) + } + gxlog.CInfo("client response result: %v\n", reply) + initSignal() } diff --git a/general/grpc/go-client/app/hello.go b/general/grpc/stream/go-client/app/hello.go similarity index 79% copy from general/grpc/go-client/app/hello.go copy to general/grpc/stream/go-client/app/hello.go index f3e6a8f..a427bb0 100644 --- a/general/grpc/go-client/app/hello.go +++ b/general/grpc/stream/go-client/app/hello.go @@ -19,14 +19,9 @@ package main import ( "context" -) -import ( - "google.golang.org/grpc" -) - -import ( "github.com/apache/dubbo-go/config" + "google.golang.org/grpc" ) var grpcGreeterImpl = new(GrpcGreeterImpl) @@ -36,7 +31,9 @@ func init() { } type GrpcGreeterImpl struct { - SayHello func(ctx context.Context, in *HelloRequest, out *HelloReply) error + SayHelloTwoSidesStream func(ctx context.Context) (Greeter_SayHelloTwoSidesStreamClient, error) + SayHelloClientStream func(ctx context.Context) (Greeter_SayHelloClientStreamClient, error) + SayHelloServerStream func(ctx context.Context, request *HelloRequest) (Greeter_SayHelloServerStreamClient, error) } func (u *GrpcGreeterImpl) Reference() string { diff --git a/general/grpc/stream/go-client/app/helloworld.pb.go b/general/grpc/stream/go-client/app/helloworld.pb.go new file mode 100644 index 0000000..2183a4f --- /dev/null +++ b/general/grpc/stream/go-client/app/helloworld.pb.go @@ -0,0 +1,472 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: helloworld.proto + +package main + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +import ( + "github.com/apache/dubbo-go/protocol" + dgrpc "github.com/apache/dubbo-go/protocol/grpc" + "github.com/apache/dubbo-go/protocol/invocation" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// The request message containing the user's name. +type HelloRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HelloRequest) Reset() { *m = HelloRequest{} } +func (m *HelloRequest) String() string { return proto.CompactTextString(m) } +func (*HelloRequest) ProtoMessage() {} +func (*HelloRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_17b8c58d586b62f2, []int{0} +} + +func (m *HelloRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HelloRequest.Unmarshal(m, b) +} +func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic) +} +func (m *HelloRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HelloRequest.Merge(m, src) +} +func (m *HelloRequest) XXX_Size() int { + return xxx_messageInfo_HelloRequest.Size(m) +} +func (m *HelloRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HelloRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_HelloRequest proto.InternalMessageInfo + +func (m *HelloRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// The response message containing the greetings +type HelloReply struct { + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HelloReply) Reset() { *m = HelloReply{} } +func (m *HelloReply) String() string { return proto.CompactTextString(m) } +func (*HelloReply) ProtoMessage() {} +func (*HelloReply) Descriptor() ([]byte, []int) { + return fileDescriptor_17b8c58d586b62f2, []int{1} +} + +func (m *HelloReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HelloReply.Unmarshal(m, b) +} +func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HelloReply.Marshal(b, m, deterministic) +} +func (m *HelloReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_HelloReply.Merge(m, src) +} +func (m *HelloReply) XXX_Size() int { + return xxx_messageInfo_HelloReply.Size(m) +} +func (m *HelloReply) XXX_DiscardUnknown() { + xxx_messageInfo_HelloReply.DiscardUnknown(m) +} + +var xxx_messageInfo_HelloReply proto.InternalMessageInfo + +func (m *HelloReply) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func init() { + proto.RegisterType((*HelloRequest)(nil), "main.HelloRequest") + proto.RegisterType((*HelloReply)(nil), "main.HelloReply") +} + +func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_17b8c58d586b62f2) } + +var fileDescriptor_17b8c58d586b62f2 = []byte{ + // 232 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0x48, 0xcd, 0xc9, + 0xc9, 0x2f, 0xcf, 0x2f, 0xca, 0x49, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xc9, 0x4d, + 0xcc, 0xcc, 0x53, 0x52, 0xe2, 0xe2, 0xf1, 0x00, 0xc9, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, + 0x08, 0x09, 0x71, 0xb1, 0xe4, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x81, + 0xd9, 0x4a, 0x6a, 0x5c, 0x5c, 0x50, 0x35, 0x05, 0x39, 0x95, 0x42, 0x12, 0x5c, 0xec, 0xb9, 0xa9, + 0xc5, 0xc5, 0x89, 0xe9, 0x30, 0x45, 0x30, 0xae, 0xd1, 0x65, 0x46, 0x2e, 0x76, 0xf7, 0xa2, 0xd4, + 0xd4, 0x92, 0xd4, 0x22, 0x21, 0x17, 0x2e, 0xb1, 0xe0, 0xc4, 0x4a, 0xb0, 0xb6, 0x90, 0xf2, 0xfc, + 0xe0, 0xcc, 0x94, 0xd4, 0xe2, 0xe0, 0x92, 0xa2, 0xd4, 0xc4, 0x5c, 0x21, 0x21, 0x3d, 0x90, 0xc5, + 0x7a, 0xc8, 0xb6, 0x4a, 0x09, 0xa0, 0x88, 0x15, 0xe4, 0x54, 0x2a, 0x31, 0x68, 0x30, 0x1a, 0x30, + 0x0a, 0x39, 0x70, 0x89, 0xc0, 0x4c, 0x71, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x21, 0xd5, 0x0c, 0x64, + 0x13, 0x82, 0x53, 0x8b, 0xca, 0x52, 0x8b, 0x48, 0x33, 0xc1, 0x80, 0xd1, 0xc9, 0x8c, 0x4b, 0x3a, + 0x33, 0x5f, 0x2f, 0xbd, 0xa8, 0x20, 0x59, 0x2f, 0xb5, 0x22, 0x31, 0xb7, 0x20, 0x27, 0xb5, 0x58, + 0x0f, 0x11, 0x98, 0x4e, 0xfc, 0x60, 0xe5, 0xe1, 0x20, 0x76, 0x00, 0x28, 0x5c, 0x03, 0x18, 0x17, + 0x31, 0x31, 0x7b, 0xf8, 0x84, 0x27, 0xb1, 0x81, 0x83, 0xd9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, + 0xe7, 0x0c, 0xb8, 0x0a, 0x7a, 0x01, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// GreeterClient is the client API for Greeter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type GreeterClient interface { + // Sends a greeting + SayHelloTwoSidesStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloTwoSidesStreamClient, error) + SayHelloClientStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloClientStreamClient, error) + SayHelloServerStream(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (Greeter_SayHelloServerStreamClient, error) +} + +type greeterClient struct { + cc *grpc.ClientConn +} + +func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { + return &greeterClient{cc} +} + +func (c *greeterClient) SayHelloTwoSidesStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloTwoSidesStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[0], "/main.Greeter/SayHelloTwoSidesStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloTwoSidesStreamClient{stream} + return x, nil +} + +type Greeter_SayHelloTwoSidesStreamClient interface { + Send(*HelloRequest) error + Recv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloTwoSidesStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloTwoSidesStreamClient) Send(m *HelloRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *greeterSayHelloTwoSidesStreamClient) Recv() (*HelloReply, error) { + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *greeterClient) SayHelloClientStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloClientStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[1], "/main.Greeter/SayHelloClientStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloClientStreamClient{stream} + return x, nil +} + +type Greeter_SayHelloClientStreamClient interface { + Send(*HelloRequest) error + CloseAndRecv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloClientStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloClientStreamClient) Send(m *HelloRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *greeterSayHelloClientStreamClient) CloseAndRecv() (*HelloReply, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *greeterClient) SayHelloServerStream(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (Greeter_SayHelloServerStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[2], "/main.Greeter/SayHelloServerStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloServerStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Greeter_SayHelloServerStreamClient interface { + Recv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloServerStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloServerStreamClient) Recv() (*HelloReply, error) { + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// GreeterServer is the server API for Greeter service. +type GreeterServer interface { + // Sends a greeting + SayHelloTwoSidesStream(Greeter_SayHelloTwoSidesStreamServer) error + SayHelloClientStream(Greeter_SayHelloClientStreamServer) error + SayHelloServerStream(*HelloRequest, Greeter_SayHelloServerStreamServer) error +} + +// UnimplementedGreeterServer can be embedded to have forward compatible implementations. +type UnimplementedGreeterServer struct { +} + +func (*UnimplementedGreeterServer) SayHelloTwoSidesStream(srv Greeter_SayHelloTwoSidesStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloTwoSidesStream not implemented") +} +func (*UnimplementedGreeterServer) SayHelloClientStream(srv Greeter_SayHelloClientStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloClientStream not implemented") +} +func (*UnimplementedGreeterServer) SayHelloServerStream(req *HelloRequest, srv Greeter_SayHelloServerStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloServerStream not implemented") +} + +func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { + s.RegisterService(&_Greeter_serviceDesc, srv) +} + +func _Greeter_SayHelloTwoSidesStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GreeterServer).SayHelloTwoSidesStream(&greeterSayHelloTwoSidesStreamServer{stream}) +} + +type Greeter_SayHelloTwoSidesStreamServer interface { + Send(*HelloReply) error + Recv() (*HelloRequest, error) + grpc.ServerStream +} + +type greeterSayHelloTwoSidesStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloTwoSidesStreamServer) Send(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +func (x *greeterSayHelloTwoSidesStreamServer) Recv() (*HelloRequest, error) { + m := new(HelloRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Greeter_SayHelloClientStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GreeterServer).SayHelloClientStream(&greeterSayHelloClientStreamServer{stream}) +} + +type Greeter_SayHelloClientStreamServer interface { + SendAndClose(*HelloReply) error + Recv() (*HelloRequest, error) + grpc.ServerStream +} + +type greeterSayHelloClientStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloClientStreamServer) SendAndClose(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +func (x *greeterSayHelloClientStreamServer) Recv() (*HelloRequest, error) { + m := new(HelloRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Greeter_SayHelloServerStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(HelloRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GreeterServer).SayHelloServerStream(m, &greeterSayHelloServerStreamServer{stream}) +} + +type Greeter_SayHelloServerStreamServer interface { + Send(*HelloReply) error + grpc.ServerStream +} + +type greeterSayHelloServerStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloServerStreamServer) Send(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +var _Greeter_serviceDesc = grpc.ServiceDesc{ + ServiceName: "main.Greeter", + HandlerType: (*GreeterServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SayHelloTwoSidesStream", + Handler: _Greeter_SayHelloTwoSidesStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "SayHelloClientStream", + Handler: _Greeter_SayHelloClientStream_Handler, + ClientStreams: true, + }, + { + StreamName: "SayHelloServerStream", + Handler: _Greeter_SayHelloServerStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "helloworld.proto", +} + +// GreeterClientImpl is the client API for Greeter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type GreeterClientImpl struct { + // Sends a greeting + SayHelloTwoSidesStream func(ctx context.Context) (Greeter_SayHelloTwoSidesStreamClient, error) + SayHelloClientStream func(ctx context.Context) (Greeter_SayHelloClientStreamClient, error) + SayHelloServerStream func(ctx context.Context, in *HelloRequest) (Greeter_SayHelloServerStreamClient, error) +} + +func (c *GreeterClientImpl) Reference() string { + return "greeterImpl" +} + +func (c *GreeterClientImpl) GetDubboStub(cc *grpc.ClientConn) GreeterClient { + return NewGreeterClient(cc) +} + +type GreeterProviderBase struct { + proxyImpl protocol.Invoker +} + +func (s *GreeterProviderBase) SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *GreeterProviderBase) GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func _DUBBO_Greeter_SayHelloTwoSidesStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloTwoSidesStream", nil, nil) + if !ok { + fmt.Println(invo) + } + return srv.(GreeterServer).SayHelloTwoSidesStream(&greeterSayHelloTwoSidesStreamServer{stream}) +} + +func _DUBBO_Greeter_SayHelloClientStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloClientStream", nil, nil) + if !ok { + fmt.Println(invo) + } + return srv.(GreeterServer).SayHelloClientStream(&greeterSayHelloClientStreamServer{stream}) +} + +func _DUBBO_Greeter_SayHelloServerStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloServerStream", nil, nil) + if !ok { + fmt.Println(invo) + } + m := new(HelloRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GreeterServer).SayHelloServerStream(m, &greeterSayHelloServerStreamServer{stream}) +} + +func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc { + return &grpc.ServiceDesc{ + ServiceName: "main.Greeter", + HandlerType: (*GreeterServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SayHelloTwoSidesStream", + Handler: _DUBBO_Greeter_SayHelloTwoSidesStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "SayHelloClientStream", + Handler: _DUBBO_Greeter_SayHelloClientStream_Handler, + ClientStreams: true, + }, + { + StreamName: "SayHelloServerStream", + Handler: _DUBBO_Greeter_SayHelloServerStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "helloworld.proto", + } +} diff --git a/general/grpc/go-client/app/helloworld.proto b/general/grpc/stream/go-client/app/helloworld.proto similarity index 82% copy from general/grpc/go-client/app/helloworld.proto copy to general/grpc/stream/go-client/app/helloworld.proto index d68e1dd..593bc4b 100644 --- a/general/grpc/go-client/app/helloworld.proto +++ b/general/grpc/stream/go-client/app/helloworld.proto @@ -23,7 +23,9 @@ package main; // The greeting service definition. service Greeter { // Sends a greeting - rpc SayHello (HelloRequest) returns (HelloReply) {} + rpc SayHelloTwoSidesStream (stream HelloRequest) returns (stream HelloReply) {} + rpc SayHelloClientStream(stream HelloRequest) returns (HelloReply) {} + rpc SayHelloServerStream(HelloRequest) returns (stream HelloReply) {} } // The request message containing the user's name. diff --git a/general/grpc/go-server/app/version.go b/general/grpc/stream/go-client/app/version.go similarity index 100% copy from general/grpc/go-server/app/version.go copy to general/grpc/stream/go-client/app/version.go diff --git a/general/grpc/go-client/assembly/bin/load.sh b/general/grpc/stream/go-client/assembly/bin/load.sh similarity index 100% copy from general/grpc/go-client/assembly/bin/load.sh copy to general/grpc/stream/go-client/assembly/bin/load.sh diff --git a/general/grpc/go-client/assembly/common/app.properties b/general/grpc/stream/go-client/assembly/common/app.properties similarity index 100% copy from general/grpc/go-client/assembly/common/app.properties copy to general/grpc/stream/go-client/assembly/common/app.properties diff --git a/general/grpc/go-client/assembly/common/build.sh b/general/grpc/stream/go-client/assembly/common/build.sh similarity index 100% copy from general/grpc/go-client/assembly/common/build.sh copy to general/grpc/stream/go-client/assembly/common/build.sh diff --git a/general/grpc/go-client/assembly/linux/dev.sh b/general/grpc/stream/go-client/assembly/linux/dev.sh similarity index 100% copy from general/grpc/go-client/assembly/linux/dev.sh copy to general/grpc/stream/go-client/assembly/linux/dev.sh diff --git a/general/grpc/go-client/assembly/linux/release.sh b/general/grpc/stream/go-client/assembly/linux/release.sh similarity index 100% copy from general/grpc/go-client/assembly/linux/release.sh copy to general/grpc/stream/go-client/assembly/linux/release.sh diff --git a/general/grpc/go-client/assembly/linux/test.sh b/general/grpc/stream/go-client/assembly/linux/test.sh similarity index 100% copy from general/grpc/go-client/assembly/linux/test.sh copy to general/grpc/stream/go-client/assembly/linux/test.sh diff --git a/general/grpc/go-client/assembly/mac/dev.sh b/general/grpc/stream/go-client/assembly/mac/dev.sh similarity index 100% copy from general/grpc/go-client/assembly/mac/dev.sh copy to general/grpc/stream/go-client/assembly/mac/dev.sh diff --git a/general/grpc/go-client/assembly/mac/release.sh b/general/grpc/stream/go-client/assembly/mac/release.sh similarity index 100% copy from general/grpc/go-client/assembly/mac/release.sh copy to general/grpc/stream/go-client/assembly/mac/release.sh diff --git a/general/grpc/go-client/assembly/mac/test.sh b/general/grpc/stream/go-client/assembly/mac/test.sh similarity index 100% copy from general/grpc/go-client/assembly/mac/test.sh copy to general/grpc/stream/go-client/assembly/mac/test.sh diff --git a/general/grpc/go-client/assembly/windows/dev.sh b/general/grpc/stream/go-client/assembly/windows/dev.sh similarity index 100% copy from general/grpc/go-client/assembly/windows/dev.sh copy to general/grpc/stream/go-client/assembly/windows/dev.sh diff --git a/general/grpc/go-client/assembly/windows/release.sh b/general/grpc/stream/go-client/assembly/windows/release.sh similarity index 100% copy from general/grpc/go-client/assembly/windows/release.sh copy to general/grpc/stream/go-client/assembly/windows/release.sh diff --git a/general/grpc/go-client/assembly/windows/test.sh b/general/grpc/stream/go-client/assembly/windows/test.sh similarity index 100% copy from general/grpc/go-client/assembly/windows/test.sh copy to general/grpc/stream/go-client/assembly/windows/test.sh diff --git a/general/grpc/go-client/profiles/dev/client.yml b/general/grpc/stream/go-client/profiles/dev/client.yml similarity index 100% copy from general/grpc/go-client/profiles/dev/client.yml copy to general/grpc/stream/go-client/profiles/dev/client.yml diff --git a/general/grpc/go-server/profiles/dev/log.yml b/general/grpc/stream/go-client/profiles/dev/log.yml similarity index 100% copy from general/grpc/go-server/profiles/dev/log.yml copy to general/grpc/stream/go-client/profiles/dev/log.yml diff --git a/general/grpc/go-client/profiles/release/client.yml b/general/grpc/stream/go-client/profiles/release/client.yml similarity index 100% copy from general/grpc/go-client/profiles/release/client.yml copy to general/grpc/stream/go-client/profiles/release/client.yml diff --git a/general/grpc/go-server/profiles/release/log.yml b/general/grpc/stream/go-client/profiles/release/log.yml similarity index 100% copy from general/grpc/go-server/profiles/release/log.yml copy to general/grpc/stream/go-client/profiles/release/log.yml diff --git a/general/grpc/go-client/profiles/test/client.yml b/general/grpc/stream/go-client/profiles/test/client.yml similarity index 100% copy from general/grpc/go-client/profiles/test/client.yml copy to general/grpc/stream/go-client/profiles/test/client.yml diff --git a/general/grpc/go-server/profiles/test/log.yml b/general/grpc/stream/go-client/profiles/test/log.yml similarity index 100% copy from general/grpc/go-server/profiles/test/log.yml copy to general/grpc/stream/go-client/profiles/test/log.yml diff --git a/general/grpc/stream/go-server/app/greeter.go b/general/grpc/stream/go-server/app/greeter.go new file mode 100644 index 0000000..49d0087 --- /dev/null +++ b/general/grpc/stream/go-server/app/greeter.go @@ -0,0 +1,101 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package main + +import ( + "fmt" + + "github.com/apache/dubbo-go/common/logger" + "github.com/apache/dubbo-go/config" +) + +func init() { + config.SetProviderService(NewGreeterProvider()) +} + +type GreeterProvider struct { + *GreeterProviderBase +} + +func NewGreeterProvider() *GreeterProvider { + return &GreeterProvider{ + GreeterProviderBase: &GreeterProviderBase{}, + } +} + +func (g *GreeterProvider) SayHelloTwoSidesStream(server Greeter_SayHelloTwoSidesStreamServer) error { + req := &HelloRequest{} + fmt.Printf("in SayHelloTwoSidesStream func\n") + if err := server.RecvMsg(req); err != nil { + fmt.Printf("server.RecvMsg err = %s", err.Error()) + return err + } + fmt.Printf("req1: %v\n", *req) + if err := server.RecvMsg(req); err != nil { + logger.Errorf("server.RecvMsg err = %s", err.Error()) + return err + } + fmt.Printf("req2: %v\n", *req) + if err := server.Send(&HelloReply{Message: "reply1"}); err != nil { + logger.Errorf("server.Send err = %s", err.Error()) + return err + } + if err := server.Send(&HelloReply{Message: "reply2"}); err != nil { + logger.Errorf("server.Send err = %s", err.Error()) + return err + } + return nil +} + +func (g *GreeterProvider) SayHelloClientStream(server Greeter_SayHelloClientStreamServer) error { + req := &HelloRequest{} + fmt.Printf("in SayHelloClientStream func\n") + if err := server.RecvMsg(req); err != nil { + fmt.Printf("server.RecvMsg err = %s", err.Error()) + return err + } + fmt.Printf("req1: %v\n", *req) + if err := server.RecvMsg(req); err != nil { + logger.Errorf("server.RecvMsg err = %s", err.Error()) + return err + } + fmt.Printf("req2: %v\n", *req) + if err := server.SendMsg(&HelloReply{Message: "unary reply"}); err != nil { + logger.Errorf("server.Send err = %s", err.Error()) + return err + } + return nil +} + +func (g *GreeterProvider) SayHelloServerStream(req *HelloRequest, server Greeter_SayHelloServerStreamServer) error { + fmt.Println("in SayHelloServerStream func") + fmt.Printf("unary req: %v\n", *req) + if err := server.Send(&HelloReply{Message: "reply1"}); err != nil { + logger.Errorf("server.Send err = %s", err.Error()) + return err + } + if err := server.Send(&HelloReply{Message: "reply2"}); err != nil { + logger.Errorf("server.Send err = %s", err.Error()) + return err + } + return nil +} + +func (g *GreeterProvider) Reference() string { + return "GrpcGreeterImpl" +} diff --git a/general/grpc/stream/go-server/app/helloworld.pb.go b/general/grpc/stream/go-server/app/helloworld.pb.go new file mode 100644 index 0000000..2183a4f --- /dev/null +++ b/general/grpc/stream/go-server/app/helloworld.pb.go @@ -0,0 +1,472 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: helloworld.proto + +package main + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +import ( + "github.com/apache/dubbo-go/protocol" + dgrpc "github.com/apache/dubbo-go/protocol/grpc" + "github.com/apache/dubbo-go/protocol/invocation" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// The request message containing the user's name. +type HelloRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HelloRequest) Reset() { *m = HelloRequest{} } +func (m *HelloRequest) String() string { return proto.CompactTextString(m) } +func (*HelloRequest) ProtoMessage() {} +func (*HelloRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_17b8c58d586b62f2, []int{0} +} + +func (m *HelloRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HelloRequest.Unmarshal(m, b) +} +func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic) +} +func (m *HelloRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HelloRequest.Merge(m, src) +} +func (m *HelloRequest) XXX_Size() int { + return xxx_messageInfo_HelloRequest.Size(m) +} +func (m *HelloRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HelloRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_HelloRequest proto.InternalMessageInfo + +func (m *HelloRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// The response message containing the greetings +type HelloReply struct { + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HelloReply) Reset() { *m = HelloReply{} } +func (m *HelloReply) String() string { return proto.CompactTextString(m) } +func (*HelloReply) ProtoMessage() {} +func (*HelloReply) Descriptor() ([]byte, []int) { + return fileDescriptor_17b8c58d586b62f2, []int{1} +} + +func (m *HelloReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HelloReply.Unmarshal(m, b) +} +func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HelloReply.Marshal(b, m, deterministic) +} +func (m *HelloReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_HelloReply.Merge(m, src) +} +func (m *HelloReply) XXX_Size() int { + return xxx_messageInfo_HelloReply.Size(m) +} +func (m *HelloReply) XXX_DiscardUnknown() { + xxx_messageInfo_HelloReply.DiscardUnknown(m) +} + +var xxx_messageInfo_HelloReply proto.InternalMessageInfo + +func (m *HelloReply) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func init() { + proto.RegisterType((*HelloRequest)(nil), "main.HelloRequest") + proto.RegisterType((*HelloReply)(nil), "main.HelloReply") +} + +func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_17b8c58d586b62f2) } + +var fileDescriptor_17b8c58d586b62f2 = []byte{ + // 232 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0x48, 0xcd, 0xc9, + 0xc9, 0x2f, 0xcf, 0x2f, 0xca, 0x49, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xc9, 0x4d, + 0xcc, 0xcc, 0x53, 0x52, 0xe2, 0xe2, 0xf1, 0x00, 0xc9, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, + 0x08, 0x09, 0x71, 0xb1, 0xe4, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x81, + 0xd9, 0x4a, 0x6a, 0x5c, 0x5c, 0x50, 0x35, 0x05, 0x39, 0x95, 0x42, 0x12, 0x5c, 0xec, 0xb9, 0xa9, + 0xc5, 0xc5, 0x89, 0xe9, 0x30, 0x45, 0x30, 0xae, 0xd1, 0x65, 0x46, 0x2e, 0x76, 0xf7, 0xa2, 0xd4, + 0xd4, 0x92, 0xd4, 0x22, 0x21, 0x17, 0x2e, 0xb1, 0xe0, 0xc4, 0x4a, 0xb0, 0xb6, 0x90, 0xf2, 0xfc, + 0xe0, 0xcc, 0x94, 0xd4, 0xe2, 0xe0, 0x92, 0xa2, 0xd4, 0xc4, 0x5c, 0x21, 0x21, 0x3d, 0x90, 0xc5, + 0x7a, 0xc8, 0xb6, 0x4a, 0x09, 0xa0, 0x88, 0x15, 0xe4, 0x54, 0x2a, 0x31, 0x68, 0x30, 0x1a, 0x30, + 0x0a, 0x39, 0x70, 0x89, 0xc0, 0x4c, 0x71, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x21, 0xd5, 0x0c, 0x64, + 0x13, 0x82, 0x53, 0x8b, 0xca, 0x52, 0x8b, 0x48, 0x33, 0xc1, 0x80, 0xd1, 0xc9, 0x8c, 0x4b, 0x3a, + 0x33, 0x5f, 0x2f, 0xbd, 0xa8, 0x20, 0x59, 0x2f, 0xb5, 0x22, 0x31, 0xb7, 0x20, 0x27, 0xb5, 0x58, + 0x0f, 0x11, 0x98, 0x4e, 0xfc, 0x60, 0xe5, 0xe1, 0x20, 0x76, 0x00, 0x28, 0x5c, 0x03, 0x18, 0x17, + 0x31, 0x31, 0x7b, 0xf8, 0x84, 0x27, 0xb1, 0x81, 0x83, 0xd9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, + 0xe7, 0x0c, 0xb8, 0x0a, 0x7a, 0x01, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// GreeterClient is the client API for Greeter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type GreeterClient interface { + // Sends a greeting + SayHelloTwoSidesStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloTwoSidesStreamClient, error) + SayHelloClientStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloClientStreamClient, error) + SayHelloServerStream(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (Greeter_SayHelloServerStreamClient, error) +} + +type greeterClient struct { + cc *grpc.ClientConn +} + +func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { + return &greeterClient{cc} +} + +func (c *greeterClient) SayHelloTwoSidesStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloTwoSidesStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[0], "/main.Greeter/SayHelloTwoSidesStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloTwoSidesStreamClient{stream} + return x, nil +} + +type Greeter_SayHelloTwoSidesStreamClient interface { + Send(*HelloRequest) error + Recv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloTwoSidesStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloTwoSidesStreamClient) Send(m *HelloRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *greeterSayHelloTwoSidesStreamClient) Recv() (*HelloReply, error) { + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *greeterClient) SayHelloClientStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloClientStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[1], "/main.Greeter/SayHelloClientStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloClientStreamClient{stream} + return x, nil +} + +type Greeter_SayHelloClientStreamClient interface { + Send(*HelloRequest) error + CloseAndRecv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloClientStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloClientStreamClient) Send(m *HelloRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *greeterSayHelloClientStreamClient) CloseAndRecv() (*HelloReply, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *greeterClient) SayHelloServerStream(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (Greeter_SayHelloServerStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[2], "/main.Greeter/SayHelloServerStream", opts...) + if err != nil { + return nil, err + } + x := &greeterSayHelloServerStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Greeter_SayHelloServerStreamClient interface { + Recv() (*HelloReply, error) + grpc.ClientStream +} + +type greeterSayHelloServerStreamClient struct { + grpc.ClientStream +} + +func (x *greeterSayHelloServerStreamClient) Recv() (*HelloReply, error) { + m := new(HelloReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// GreeterServer is the server API for Greeter service. +type GreeterServer interface { + // Sends a greeting + SayHelloTwoSidesStream(Greeter_SayHelloTwoSidesStreamServer) error + SayHelloClientStream(Greeter_SayHelloClientStreamServer) error + SayHelloServerStream(*HelloRequest, Greeter_SayHelloServerStreamServer) error +} + +// UnimplementedGreeterServer can be embedded to have forward compatible implementations. +type UnimplementedGreeterServer struct { +} + +func (*UnimplementedGreeterServer) SayHelloTwoSidesStream(srv Greeter_SayHelloTwoSidesStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloTwoSidesStream not implemented") +} +func (*UnimplementedGreeterServer) SayHelloClientStream(srv Greeter_SayHelloClientStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloClientStream not implemented") +} +func (*UnimplementedGreeterServer) SayHelloServerStream(req *HelloRequest, srv Greeter_SayHelloServerStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SayHelloServerStream not implemented") +} + +func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { + s.RegisterService(&_Greeter_serviceDesc, srv) +} + +func _Greeter_SayHelloTwoSidesStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GreeterServer).SayHelloTwoSidesStream(&greeterSayHelloTwoSidesStreamServer{stream}) +} + +type Greeter_SayHelloTwoSidesStreamServer interface { + Send(*HelloReply) error + Recv() (*HelloRequest, error) + grpc.ServerStream +} + +type greeterSayHelloTwoSidesStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloTwoSidesStreamServer) Send(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +func (x *greeterSayHelloTwoSidesStreamServer) Recv() (*HelloRequest, error) { + m := new(HelloRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Greeter_SayHelloClientStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GreeterServer).SayHelloClientStream(&greeterSayHelloClientStreamServer{stream}) +} + +type Greeter_SayHelloClientStreamServer interface { + SendAndClose(*HelloReply) error + Recv() (*HelloRequest, error) + grpc.ServerStream +} + +type greeterSayHelloClientStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloClientStreamServer) SendAndClose(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +func (x *greeterSayHelloClientStreamServer) Recv() (*HelloRequest, error) { + m := new(HelloRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Greeter_SayHelloServerStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(HelloRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GreeterServer).SayHelloServerStream(m, &greeterSayHelloServerStreamServer{stream}) +} + +type Greeter_SayHelloServerStreamServer interface { + Send(*HelloReply) error + grpc.ServerStream +} + +type greeterSayHelloServerStreamServer struct { + grpc.ServerStream +} + +func (x *greeterSayHelloServerStreamServer) Send(m *HelloReply) error { + return x.ServerStream.SendMsg(m) +} + +var _Greeter_serviceDesc = grpc.ServiceDesc{ + ServiceName: "main.Greeter", + HandlerType: (*GreeterServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SayHelloTwoSidesStream", + Handler: _Greeter_SayHelloTwoSidesStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "SayHelloClientStream", + Handler: _Greeter_SayHelloClientStream_Handler, + ClientStreams: true, + }, + { + StreamName: "SayHelloServerStream", + Handler: _Greeter_SayHelloServerStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "helloworld.proto", +} + +// GreeterClientImpl is the client API for Greeter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type GreeterClientImpl struct { + // Sends a greeting + SayHelloTwoSidesStream func(ctx context.Context) (Greeter_SayHelloTwoSidesStreamClient, error) + SayHelloClientStream func(ctx context.Context) (Greeter_SayHelloClientStreamClient, error) + SayHelloServerStream func(ctx context.Context, in *HelloRequest) (Greeter_SayHelloServerStreamClient, error) +} + +func (c *GreeterClientImpl) Reference() string { + return "greeterImpl" +} + +func (c *GreeterClientImpl) GetDubboStub(cc *grpc.ClientConn) GreeterClient { + return NewGreeterClient(cc) +} + +type GreeterProviderBase struct { + proxyImpl protocol.Invoker +} + +func (s *GreeterProviderBase) SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *GreeterProviderBase) GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func _DUBBO_Greeter_SayHelloTwoSidesStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloTwoSidesStream", nil, nil) + if !ok { + fmt.Println(invo) + } + return srv.(GreeterServer).SayHelloTwoSidesStream(&greeterSayHelloTwoSidesStreamServer{stream}) +} + +func _DUBBO_Greeter_SayHelloClientStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloClientStream", nil, nil) + if !ok { + fmt.Println(invo) + } + return srv.(GreeterServer).SayHelloClientStream(&greeterSayHelloClientStreamServer{stream}) +} + +func _DUBBO_Greeter_SayHelloServerStream_Handler(srv interface{}, stream grpc.ServerStream) error { + _, ok := srv.(dgrpc.DubboGrpcService) + invo := invocation.NewRPCInvocation("SayHelloServerStream", nil, nil) + if !ok { + fmt.Println(invo) + } + m := new(HelloRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GreeterServer).SayHelloServerStream(m, &greeterSayHelloServerStreamServer{stream}) +} + +func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc { + return &grpc.ServiceDesc{ + ServiceName: "main.Greeter", + HandlerType: (*GreeterServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SayHelloTwoSidesStream", + Handler: _DUBBO_Greeter_SayHelloTwoSidesStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "SayHelloClientStream", + Handler: _DUBBO_Greeter_SayHelloClientStream_Handler, + ClientStreams: true, + }, + { + StreamName: "SayHelloServerStream", + Handler: _DUBBO_Greeter_SayHelloServerStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "helloworld.proto", + } +} diff --git a/general/grpc/go-client/app/helloworld.proto b/general/grpc/stream/go-server/app/helloworld.proto similarity index 82% copy from general/grpc/go-client/app/helloworld.proto copy to general/grpc/stream/go-server/app/helloworld.proto index d68e1dd..593bc4b 100644 --- a/general/grpc/go-client/app/helloworld.proto +++ b/general/grpc/stream/go-server/app/helloworld.proto @@ -23,7 +23,9 @@ package main; // The greeting service definition. service Greeter { // Sends a greeting - rpc SayHello (HelloRequest) returns (HelloReply) {} + rpc SayHelloTwoSidesStream (stream HelloRequest) returns (stream HelloReply) {} + rpc SayHelloClientStream(stream HelloRequest) returns (HelloReply) {} + rpc SayHelloServerStream(HelloRequest) returns (stream HelloReply) {} } // The request message containing the user's name. diff --git a/general/grpc/go-server/app/server.go b/general/grpc/stream/go-server/app/server.go similarity index 100% copy from general/grpc/go-server/app/server.go copy to general/grpc/stream/go-server/app/server.go diff --git a/general/grpc/go-client/app/version.go b/general/grpc/stream/go-server/app/version.go similarity index 100% rename from general/grpc/go-client/app/version.go rename to general/grpc/stream/go-server/app/version.go diff --git a/general/grpc/go-server/assembly/bin/load.sh b/general/grpc/stream/go-server/assembly/bin/load.sh similarity index 100% copy from general/grpc/go-server/assembly/bin/load.sh copy to general/grpc/stream/go-server/assembly/bin/load.sh diff --git a/general/grpc/go-server/assembly/common/app.properties b/general/grpc/stream/go-server/assembly/common/app.properties similarity index 100% copy from general/grpc/go-server/assembly/common/app.properties copy to general/grpc/stream/go-server/assembly/common/app.properties diff --git a/general/grpc/go-server/assembly/common/build.sh b/general/grpc/stream/go-server/assembly/common/build.sh similarity index 100% copy from general/grpc/go-server/assembly/common/build.sh copy to general/grpc/stream/go-server/assembly/common/build.sh diff --git a/general/grpc/go-server/assembly/linux/dev.sh b/general/grpc/stream/go-server/assembly/linux/dev.sh similarity index 100% copy from general/grpc/go-server/assembly/linux/dev.sh copy to general/grpc/stream/go-server/assembly/linux/dev.sh diff --git a/general/grpc/go-server/assembly/linux/release.sh b/general/grpc/stream/go-server/assembly/linux/release.sh similarity index 100% copy from general/grpc/go-server/assembly/linux/release.sh copy to general/grpc/stream/go-server/assembly/linux/release.sh diff --git a/general/grpc/go-server/assembly/linux/test.sh b/general/grpc/stream/go-server/assembly/linux/test.sh similarity index 100% copy from general/grpc/go-server/assembly/linux/test.sh copy to general/grpc/stream/go-server/assembly/linux/test.sh diff --git a/general/grpc/go-server/assembly/mac/dev.sh b/general/grpc/stream/go-server/assembly/mac/dev.sh similarity index 100% copy from general/grpc/go-server/assembly/mac/dev.sh copy to general/grpc/stream/go-server/assembly/mac/dev.sh diff --git a/general/grpc/go-server/assembly/mac/release.sh b/general/grpc/stream/go-server/assembly/mac/release.sh similarity index 100% copy from general/grpc/go-server/assembly/mac/release.sh copy to general/grpc/stream/go-server/assembly/mac/release.sh diff --git a/general/grpc/go-server/assembly/mac/test.sh b/general/grpc/stream/go-server/assembly/mac/test.sh similarity index 100% copy from general/grpc/go-server/assembly/mac/test.sh copy to general/grpc/stream/go-server/assembly/mac/test.sh diff --git a/general/grpc/go-server/assembly/windows/dev.sh b/general/grpc/stream/go-server/assembly/windows/dev.sh similarity index 100% copy from general/grpc/go-server/assembly/windows/dev.sh copy to general/grpc/stream/go-server/assembly/windows/dev.sh diff --git a/general/grpc/go-server/assembly/windows/release.sh b/general/grpc/stream/go-server/assembly/windows/release.sh similarity index 100% copy from general/grpc/go-server/assembly/windows/release.sh copy to general/grpc/stream/go-server/assembly/windows/release.sh diff --git a/general/grpc/go-server/assembly/windows/test.sh b/general/grpc/stream/go-server/assembly/windows/test.sh similarity index 100% copy from general/grpc/go-server/assembly/windows/test.sh copy to general/grpc/stream/go-server/assembly/windows/test.sh diff --git a/general/grpc/go-client/profiles/dev/log.yml b/general/grpc/stream/go-server/profiles/dev/log.yml similarity index 100% rename from general/grpc/go-client/profiles/dev/log.yml rename to general/grpc/stream/go-server/profiles/dev/log.yml diff --git a/general/grpc/go-server/profiles/dev/server.yml b/general/grpc/stream/go-server/profiles/dev/server.yml similarity index 100% copy from general/grpc/go-server/profiles/dev/server.yml copy to general/grpc/stream/go-server/profiles/dev/server.yml diff --git a/general/grpc/go-client/profiles/release/log.yml b/general/grpc/stream/go-server/profiles/release/log.yml similarity index 100% rename from general/grpc/go-client/profiles/release/log.yml rename to general/grpc/stream/go-server/profiles/release/log.yml diff --git a/general/grpc/go-server/profiles/release/server.yml b/general/grpc/stream/go-server/profiles/release/server.yml similarity index 100% copy from general/grpc/go-server/profiles/release/server.yml copy to general/grpc/stream/go-server/profiles/release/server.yml diff --git a/general/grpc/go-client/profiles/test/log.yml b/general/grpc/stream/go-server/profiles/test/log.yml similarity index 100% rename from general/grpc/go-client/profiles/test/log.yml rename to general/grpc/stream/go-server/profiles/test/log.yml diff --git a/general/grpc/go-server/profiles/test/server.yml b/general/grpc/stream/go-server/profiles/test/server.yml similarity index 100% copy from general/grpc/go-server/profiles/test/server.yml copy to general/grpc/stream/go-server/profiles/test/server.yml diff --git a/general/grpc/go-client/app/Makefile b/general/grpc/unary/go-client/app/Makefile similarity index 100% rename from general/grpc/go-client/app/Makefile rename to general/grpc/unary/go-client/app/Makefile diff --git a/general/grpc/go-client/app/client.go b/general/grpc/unary/go-client/app/client.go similarity index 97% rename from general/grpc/go-client/app/client.go rename to general/grpc/unary/go-client/app/client.go index d8634b7..eb39e34 100644 --- a/general/grpc/go-client/app/client.go +++ b/general/grpc/unary/go-client/app/client.go @@ -24,22 +24,25 @@ import ( "os/signal" "syscall" "time" -) -import ( - "github.com/dubbogo/gost/log" -) + gxlog "github.com/dubbogo/gost/log" -import ( _ "github.com/apache/dubbo-go/cluster/cluster_impl" + _ "github.com/apache/dubbo-go/cluster/loadbalance" "github.com/apache/dubbo-go/common/logger" + _ "github.com/apache/dubbo-go/common/proxy/proxy_factory" "github.com/apache/dubbo-go/config" + _ "github.com/apache/dubbo-go/filter/filter_impl" + _ "github.com/apache/dubbo-go/protocol/dubbo" + _ "github.com/apache/dubbo-go/protocol/grpc" + _ "github.com/apache/dubbo-go/registry/protocol" + _ "github.com/apache/dubbo-go/registry/zookeeper" ) diff --git a/general/grpc/go-client/app/hello.go b/general/grpc/unary/go-client/app/hello.go similarity index 100% rename from general/grpc/go-client/app/hello.go rename to general/grpc/unary/go-client/app/hello.go diff --git a/general/grpc/go-server/app/helloworld.pb.go b/general/grpc/unary/go-client/app/helloworld.pb.go similarity index 100% rename from general/grpc/go-server/app/helloworld.pb.go rename to general/grpc/unary/go-client/app/helloworld.pb.go diff --git a/general/grpc/go-server/app/helloworld.proto b/general/grpc/unary/go-client/app/helloworld.proto similarity index 100% rename from general/grpc/go-server/app/helloworld.proto rename to general/grpc/unary/go-client/app/helloworld.proto diff --git a/general/grpc/go-server/app/version.go b/general/grpc/unary/go-client/app/version.go similarity index 100% copy from general/grpc/go-server/app/version.go copy to general/grpc/unary/go-client/app/version.go diff --git a/general/grpc/go-client/assembly/bin/load.sh b/general/grpc/unary/go-client/assembly/bin/load.sh similarity index 100% rename from general/grpc/go-client/assembly/bin/load.sh rename to general/grpc/unary/go-client/assembly/bin/load.sh diff --git a/general/grpc/go-client/assembly/common/app.properties b/general/grpc/unary/go-client/assembly/common/app.properties similarity index 100% rename from general/grpc/go-client/assembly/common/app.properties rename to general/grpc/unary/go-client/assembly/common/app.properties diff --git a/general/grpc/go-client/assembly/common/build.sh b/general/grpc/unary/go-client/assembly/common/build.sh similarity index 100% rename from general/grpc/go-client/assembly/common/build.sh rename to general/grpc/unary/go-client/assembly/common/build.sh diff --git a/general/grpc/go-client/assembly/linux/dev.sh b/general/grpc/unary/go-client/assembly/linux/dev.sh similarity index 100% rename from general/grpc/go-client/assembly/linux/dev.sh rename to general/grpc/unary/go-client/assembly/linux/dev.sh diff --git a/general/grpc/go-client/assembly/linux/release.sh b/general/grpc/unary/go-client/assembly/linux/release.sh similarity index 100% rename from general/grpc/go-client/assembly/linux/release.sh rename to general/grpc/unary/go-client/assembly/linux/release.sh diff --git a/general/grpc/go-client/assembly/linux/test.sh b/general/grpc/unary/go-client/assembly/linux/test.sh similarity index 100% rename from general/grpc/go-client/assembly/linux/test.sh rename to general/grpc/unary/go-client/assembly/linux/test.sh diff --git a/general/grpc/go-client/assembly/mac/dev.sh b/general/grpc/unary/go-client/assembly/mac/dev.sh similarity index 100% rename from general/grpc/go-client/assembly/mac/dev.sh rename to general/grpc/unary/go-client/assembly/mac/dev.sh diff --git a/general/grpc/go-client/assembly/mac/release.sh b/general/grpc/unary/go-client/assembly/mac/release.sh similarity index 100% rename from general/grpc/go-client/assembly/mac/release.sh rename to general/grpc/unary/go-client/assembly/mac/release.sh diff --git a/general/grpc/go-client/assembly/mac/test.sh b/general/grpc/unary/go-client/assembly/mac/test.sh similarity index 100% rename from general/grpc/go-client/assembly/mac/test.sh rename to general/grpc/unary/go-client/assembly/mac/test.sh diff --git a/general/grpc/go-client/assembly/windows/dev.sh b/general/grpc/unary/go-client/assembly/windows/dev.sh similarity index 100% rename from general/grpc/go-client/assembly/windows/dev.sh rename to general/grpc/unary/go-client/assembly/windows/dev.sh diff --git a/general/grpc/go-client/assembly/windows/release.sh b/general/grpc/unary/go-client/assembly/windows/release.sh similarity index 100% rename from general/grpc/go-client/assembly/windows/release.sh rename to general/grpc/unary/go-client/assembly/windows/release.sh diff --git a/general/grpc/go-client/assembly/windows/test.sh b/general/grpc/unary/go-client/assembly/windows/test.sh similarity index 100% rename from general/grpc/go-client/assembly/windows/test.sh rename to general/grpc/unary/go-client/assembly/windows/test.sh diff --git a/general/grpc/go-client/profiles/dev/client.yml b/general/grpc/unary/go-client/profiles/dev/client.yml similarity index 100% rename from general/grpc/go-client/profiles/dev/client.yml rename to general/grpc/unary/go-client/profiles/dev/client.yml diff --git a/general/grpc/go-server/profiles/dev/log.yml b/general/grpc/unary/go-client/profiles/dev/log.yml similarity index 100% copy from general/grpc/go-server/profiles/dev/log.yml copy to general/grpc/unary/go-client/profiles/dev/log.yml diff --git a/general/grpc/go-client/profiles/release/client.yml b/general/grpc/unary/go-client/profiles/release/client.yml similarity index 100% rename from general/grpc/go-client/profiles/release/client.yml rename to general/grpc/unary/go-client/profiles/release/client.yml diff --git a/general/grpc/go-server/profiles/release/log.yml b/general/grpc/unary/go-client/profiles/release/log.yml similarity index 100% copy from general/grpc/go-server/profiles/release/log.yml copy to general/grpc/unary/go-client/profiles/release/log.yml diff --git a/general/grpc/go-client/profiles/test/client.yml b/general/grpc/unary/go-client/profiles/test/client.yml similarity index 100% rename from general/grpc/go-client/profiles/test/client.yml rename to general/grpc/unary/go-client/profiles/test/client.yml diff --git a/general/grpc/go-server/profiles/test/log.yml b/general/grpc/unary/go-client/profiles/test/log.yml similarity index 100% copy from general/grpc/go-server/profiles/test/log.yml copy to general/grpc/unary/go-client/profiles/test/log.yml diff --git a/general/grpc/go-server/app/greeter.go b/general/grpc/unary/go-server/app/greeter.go similarity index 100% rename from general/grpc/go-server/app/greeter.go rename to general/grpc/unary/go-server/app/greeter.go diff --git a/general/grpc/go-client/app/helloworld.pb.go b/general/grpc/unary/go-server/app/helloworld.pb.go similarity index 100% rename from general/grpc/go-client/app/helloworld.pb.go rename to general/grpc/unary/go-server/app/helloworld.pb.go diff --git a/general/grpc/go-client/app/helloworld.proto b/general/grpc/unary/go-server/app/helloworld.proto similarity index 100% rename from general/grpc/go-client/app/helloworld.proto rename to general/grpc/unary/go-server/app/helloworld.proto diff --git a/general/grpc/go-server/app/server.go b/general/grpc/unary/go-server/app/server.go similarity index 100% rename from general/grpc/go-server/app/server.go rename to general/grpc/unary/go-server/app/server.go diff --git a/general/grpc/go-server/app/version.go b/general/grpc/unary/go-server/app/version.go similarity index 100% rename from general/grpc/go-server/app/version.go rename to general/grpc/unary/go-server/app/version.go diff --git a/general/grpc/go-server/assembly/bin/load.sh b/general/grpc/unary/go-server/assembly/bin/load.sh similarity index 100% rename from general/grpc/go-server/assembly/bin/load.sh rename to general/grpc/unary/go-server/assembly/bin/load.sh diff --git a/general/grpc/go-server/assembly/common/app.properties b/general/grpc/unary/go-server/assembly/common/app.properties similarity index 100% rename from general/grpc/go-server/assembly/common/app.properties rename to general/grpc/unary/go-server/assembly/common/app.properties diff --git a/general/grpc/go-server/assembly/common/build.sh b/general/grpc/unary/go-server/assembly/common/build.sh similarity index 100% rename from general/grpc/go-server/assembly/common/build.sh rename to general/grpc/unary/go-server/assembly/common/build.sh diff --git a/general/grpc/go-server/assembly/linux/dev.sh b/general/grpc/unary/go-server/assembly/linux/dev.sh similarity index 100% rename from general/grpc/go-server/assembly/linux/dev.sh rename to general/grpc/unary/go-server/assembly/linux/dev.sh diff --git a/general/grpc/go-server/assembly/linux/release.sh b/general/grpc/unary/go-server/assembly/linux/release.sh similarity index 100% rename from general/grpc/go-server/assembly/linux/release.sh rename to general/grpc/unary/go-server/assembly/linux/release.sh diff --git a/general/grpc/go-server/assembly/linux/test.sh b/general/grpc/unary/go-server/assembly/linux/test.sh similarity index 100% rename from general/grpc/go-server/assembly/linux/test.sh rename to general/grpc/unary/go-server/assembly/linux/test.sh diff --git a/general/grpc/go-server/assembly/mac/dev.sh b/general/grpc/unary/go-server/assembly/mac/dev.sh similarity index 100% rename from general/grpc/go-server/assembly/mac/dev.sh rename to general/grpc/unary/go-server/assembly/mac/dev.sh diff --git a/general/grpc/go-server/assembly/mac/release.sh b/general/grpc/unary/go-server/assembly/mac/release.sh similarity index 100% rename from general/grpc/go-server/assembly/mac/release.sh rename to general/grpc/unary/go-server/assembly/mac/release.sh diff --git a/general/grpc/go-server/assembly/mac/test.sh b/general/grpc/unary/go-server/assembly/mac/test.sh similarity index 100% rename from general/grpc/go-server/assembly/mac/test.sh rename to general/grpc/unary/go-server/assembly/mac/test.sh diff --git a/general/grpc/go-server/assembly/windows/dev.sh b/general/grpc/unary/go-server/assembly/windows/dev.sh similarity index 100% rename from general/grpc/go-server/assembly/windows/dev.sh rename to general/grpc/unary/go-server/assembly/windows/dev.sh diff --git a/general/grpc/go-server/assembly/windows/release.sh b/general/grpc/unary/go-server/assembly/windows/release.sh similarity index 100% rename from general/grpc/go-server/assembly/windows/release.sh rename to general/grpc/unary/go-server/assembly/windows/release.sh diff --git a/general/grpc/go-server/assembly/windows/test.sh b/general/grpc/unary/go-server/assembly/windows/test.sh similarity index 100% rename from general/grpc/go-server/assembly/windows/test.sh rename to general/grpc/unary/go-server/assembly/windows/test.sh diff --git a/general/grpc/go-server/profiles/dev/log.yml b/general/grpc/unary/go-server/profiles/dev/log.yml similarity index 100% rename from general/grpc/go-server/profiles/dev/log.yml rename to general/grpc/unary/go-server/profiles/dev/log.yml diff --git a/general/grpc/go-server/profiles/dev/server.yml b/general/grpc/unary/go-server/profiles/dev/server.yml similarity index 100% rename from general/grpc/go-server/profiles/dev/server.yml rename to general/grpc/unary/go-server/profiles/dev/server.yml diff --git a/general/grpc/go-server/profiles/release/log.yml b/general/grpc/unary/go-server/profiles/release/log.yml similarity index 100% rename from general/grpc/go-server/profiles/release/log.yml rename to general/grpc/unary/go-server/profiles/release/log.yml diff --git a/general/grpc/go-server/profiles/release/server.yml b/general/grpc/unary/go-server/profiles/release/server.yml similarity index 100% rename from general/grpc/go-server/profiles/release/server.yml rename to general/grpc/unary/go-server/profiles/release/server.yml diff --git a/general/grpc/go-server/profiles/test/log.yml b/general/grpc/unary/go-server/profiles/test/log.yml similarity index 100% rename from general/grpc/go-server/profiles/test/log.yml rename to general/grpc/unary/go-server/profiles/test/log.yml diff --git a/general/grpc/go-server/profiles/test/server.yml b/general/grpc/unary/go-server/profiles/test/server.yml similarity index 100% rename from general/grpc/go-server/profiles/test/server.yml rename to general/grpc/unary/go-server/profiles/test/server.yml diff --git a/general/grpc/java-client/build.sh b/general/grpc/unary/java-client/build.sh similarity index 100% rename from general/grpc/java-client/build.sh rename to general/grpc/unary/java-client/build.sh diff --git a/general/grpc/java-client/pom.xml b/general/grpc/unary/java-client/pom.xml similarity index 100% rename from general/grpc/java-client/pom.xml rename to general/grpc/unary/java-client/pom.xml diff --git a/general/grpc/java-client/src/main/assembly/assembly.xml b/general/grpc/unary/java-client/src/main/assembly/assembly.xml similarity index 100% rename from general/grpc/java-client/src/main/assembly/assembly.xml rename to general/grpc/unary/java-client/src/main/assembly/assembly.xml diff --git a/general/grpc/java-client/src/main/assembly/conf/dubbo.properties b/general/grpc/unary/java-client/src/main/assembly/conf/dubbo.properties similarity index 100% rename from general/grpc/java-client/src/main/assembly/conf/dubbo.properties rename to general/grpc/unary/java-client/src/main/assembly/conf/dubbo.properties diff --git a/general/grpc/java-client/src/main/resources/log4j.properties b/general/grpc/unary/java-client/src/main/assembly/conf/log4j.properties similarity index 100% rename from general/grpc/java-client/src/main/resources/log4j.properties rename to general/grpc/unary/java-client/src/main/assembly/conf/log4j.properties diff --git a/general/grpc/java-client/src/main/java/com/ikurento/user/Consumer.java b/general/grpc/unary/java-client/src/main/java/com/ikurento/user/Consumer.java similarity index 100% rename from general/grpc/java-client/src/main/java/com/ikurento/user/Consumer.java rename to general/grpc/unary/java-client/src/main/java/com/ikurento/user/Consumer.java diff --git a/general/grpc/java-server/src/main/proto/UserService.proto b/general/grpc/unary/java-client/src/main/proto/UserService.proto similarity index 100% rename from general/grpc/java-server/src/main/proto/UserService.proto rename to general/grpc/unary/java-client/src/main/proto/UserService.proto diff --git a/general/grpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/general/grpc/unary/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml similarity index 100% rename from general/grpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml rename to general/grpc/unary/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml diff --git a/general/grpc/java-client/src/main/resources/META-INF/spring/service.xml b/general/grpc/unary/java-client/src/main/resources/META-INF/spring/service.xml similarity index 100% rename from general/grpc/java-client/src/main/resources/META-INF/spring/service.xml rename to general/grpc/unary/java-client/src/main/resources/META-INF/spring/service.xml diff --git a/general/grpc/java-client/src/main/assembly/conf/log4j.properties b/general/grpc/unary/java-client/src/main/resources/log4j.properties similarity index 100% rename from general/grpc/java-client/src/main/assembly/conf/log4j.properties rename to general/grpc/unary/java-client/src/main/resources/log4j.properties diff --git a/general/grpc/java-server/build.sh b/general/grpc/unary/java-server/build.sh similarity index 100% rename from general/grpc/java-server/build.sh rename to general/grpc/unary/java-server/build.sh diff --git a/general/grpc/java-server/pom.xml b/general/grpc/unary/java-server/pom.xml similarity index 100% rename from general/grpc/java-server/pom.xml rename to general/grpc/unary/java-server/pom.xml diff --git a/general/grpc/java-server/script/debug.sh b/general/grpc/unary/java-server/script/debug.sh similarity index 100% rename from general/grpc/java-server/script/debug.sh rename to general/grpc/unary/java-server/script/debug.sh diff --git a/general/grpc/java-server/src/main/assembly/assembly.xml b/general/grpc/unary/java-server/src/main/assembly/assembly.xml similarity index 100% rename from general/grpc/java-server/src/main/assembly/assembly.xml rename to general/grpc/unary/java-server/src/main/assembly/assembly.xml diff --git a/general/grpc/java-server/src/main/assembly/bin/start.bat b/general/grpc/unary/java-server/src/main/assembly/bin/start.bat similarity index 100% rename from general/grpc/java-server/src/main/assembly/bin/start.bat rename to general/grpc/unary/java-server/src/main/assembly/bin/start.bat diff --git a/general/grpc/java-server/src/main/assembly/bin/start.sh b/general/grpc/unary/java-server/src/main/assembly/bin/start.sh similarity index 100% rename from general/grpc/java-server/src/main/assembly/bin/start.sh rename to general/grpc/unary/java-server/src/main/assembly/bin/start.sh diff --git a/general/grpc/java-server/src/main/assembly/conf/dubbo.properties b/general/grpc/unary/java-server/src/main/assembly/conf/dubbo.properties similarity index 100% rename from general/grpc/java-server/src/main/assembly/conf/dubbo.properties rename to general/grpc/unary/java-server/src/main/assembly/conf/dubbo.properties diff --git a/general/grpc/java-server/src/main/resources/log4j.properties b/general/grpc/unary/java-server/src/main/assembly/conf/log4j.properties similarity index 100% rename from general/grpc/java-server/src/main/resources/log4j.properties rename to general/grpc/unary/java-server/src/main/assembly/conf/log4j.properties diff --git a/general/grpc/java-server/src/main/java/com/ikurento/user/Provider.java b/general/grpc/unary/java-server/src/main/java/com/ikurento/user/Provider.java similarity index 100% rename from general/grpc/java-server/src/main/java/com/ikurento/user/Provider.java rename to general/grpc/unary/java-server/src/main/java/com/ikurento/user/Provider.java diff --git a/general/grpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/general/grpc/unary/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java similarity index 100% rename from general/grpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java rename to general/grpc/unary/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java diff --git a/general/grpc/java-client/src/main/proto/UserService.proto b/general/grpc/unary/java-server/src/main/proto/UserService.proto similarity index 100% rename from general/grpc/java-client/src/main/proto/UserService.proto rename to general/grpc/unary/java-server/src/main/proto/UserService.proto diff --git a/general/grpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/general/grpc/unary/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml similarity index 100% rename from general/grpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml rename to general/grpc/unary/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml diff --git a/general/grpc/java-server/src/main/assembly/conf/log4j.properties b/general/grpc/unary/java-server/src/main/resources/log4j.properties similarity index 100% rename from general/grpc/java-server/src/main/assembly/conf/log4j.properties rename to general/grpc/unary/java-server/src/main/resources/log4j.properties diff --git a/go.mod b/go.mod index 7b80fca..e8ff748 100644 --- a/go.mod +++ b/go.mod @@ -8,11 +8,11 @@ require ( github.com/emicklei/go-restful/v3 v3.0.0 github.com/golang/protobuf v1.4.0 github.com/opentracing/opentracing-go v1.1.0 - github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 - github.com/openzipkin/zipkin-go v0.2.2 + github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 // indirect + github.com/openzipkin/zipkin-go v0.2.2 // indirect github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.1.0 - github.com/uber/jaeger-client-go v2.22.1+incompatible + github.com/uber/jaeger-client-go v2.22.1+incompatible // indirect github.com/uber/jaeger-lib v2.2.0+incompatible // indirect google.golang.org/grpc v1.26.0 )