diff --git a/udemy/HandsOngRPC/proto/Taskfile.yml b/udemy/HandsOngRPC/proto/Taskfile.yml index 8c7366959..03c052657 100644 --- a/udemy/HandsOngRPC/proto/Taskfile.yml +++ b/udemy/HandsOngRPC/proto/Taskfile.yml @@ -21,9 +21,15 @@ tasks: cmds: - protoc --go_out=. --go-grpc_out=. ./bank/type/*.proto ./bank/*.proto - go mod tidy + build_resiliency: + dir: '.' + cmds: + - protoc --go_out=. --go-grpc_out=. ./resiliency/type/*.proto ./resiliency/*.proto + - go mod tidy build: cmds: - task build_hello - task build_payment - task build_transaction - task build_bank + - task build_resiliency diff --git a/udemy/HandsOngRPC/proto/resiliency/service.proto b/udemy/HandsOngRPC/proto/resiliency/service.proto new file mode 100644 index 000000000..e775a7316 --- /dev/null +++ b/udemy/HandsOngRPC/proto/resiliency/service.proto @@ -0,0 +1,21 @@ +syntax = "proto3"; + +package resiliency; + +import "resiliency/type/resiliency.proto"; + +option go_package = "protogen/go/resiliency"; + +service ResiliencyService { + rpc GetResiliency(ResiliencyRequest) returns (ResiliencyResponse); + + rpc GetResiliencyStream(ResiliencyRequest) + returns (stream ResiliencyResponse); + + rpc SendResiliencyStream(stream ResiliencyRequest) + returns (ResiliencyResponse); + + rpc BidirectionalResiliencyStream(stream ResiliencyRequest) + returns (stream ResiliencyResponse); + +} \ No newline at end of file diff --git a/udemy/HandsOngRPC/proto/resiliency/type/resiliency.proto b/udemy/HandsOngRPC/proto/resiliency/type/resiliency.proto new file mode 100644 index 000000000..e19f8473b --- /dev/null +++ b/udemy/HandsOngRPC/proto/resiliency/type/resiliency.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package resiliency; + +option go_package = "protogen/go/resiliency"; + +message ResiliencyRequest { + int32 min_delay_second = 1; + int32 max_delay_second = 2; + repeated uint32 status_codes = 3; +} + +message ResiliencyResponse { + string response = 1; + unit32 status_code = 2; +} \ No newline at end of file