fix(build): Remove default impl for Server traits (#229)

BREAKING CHANGE: remove default implementations for server traits.
This commit is contained in:
Juan Alvarez
2020-01-13 08:42:14 -06:00
committed by Lucio Franco
parent dadc8186c2
commit a41f55ab9d
3 changed files with 48 additions and 12 deletions
+22
View File
@@ -68,5 +68,27 @@ impl Echo for MyEcho {
}
type ServerStreamingEchoStream = ResponseStream;
async fn server_streaming_echo(
&self,
_: Request<EchoRequest>,
) -> Result<Response<Self::ServerStreamingEchoStream>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
async fn client_streaming_echo(
&self,
_: Request<tonic::Streaming<EchoRequest>>,
) -> Result<Response<EchoResponse>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
type BidirectionalStreamingEchoStream = ResponseStream;
async fn bidirectional_streaming_echo(
&self,
_: Request<tonic::Streaming<EchoRequest>>,
) -> Result<Response<Self::BidirectionalStreamingEchoStream>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
}
+22
View File
@@ -26,7 +26,29 @@ impl pb::echo_server::Echo for EchoServer {
}
type ServerStreamingEchoStream = ResponseStream;
async fn server_streaming_echo(
&self,
_: Request<EchoRequest>,
) -> Result<Response<Self::ServerStreamingEchoStream>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
async fn client_streaming_echo(
&self,
_: Request<tonic::Streaming<EchoRequest>>,
) -> Result<Response<EchoResponse>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
type BidirectionalStreamingEchoStream = ResponseStream;
async fn bidirectional_streaming_echo(
&self,
_: Request<tonic::Streaming<EchoRequest>>,
) -> Result<Response<Self::BidirectionalStreamingEchoStream>, Status> {
Err(Status::unimplemented("Not yet implemented"))
}
}
#[tokio::main]
+4 -12
View File
@@ -108,18 +108,14 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
quote! {
#method_doc
async fn #name(&self, request: tonic::Request<#req_message>)
-> Result<tonic::Response<#res_message>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
-> Result<tonic::Response<#res_message>, tonic::Status>;
}
}
(true, false) => {
quote! {
#method_doc
async fn #name(&self, request: tonic::Request<tonic::Streaming<#req_message>>)
-> Result<tonic::Response<#res_message>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
-> Result<tonic::Response<#res_message>, tonic::Status>;
}
}
(false, true) => {
@@ -135,9 +131,7 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
#method_doc
async fn #name(&self, request: tonic::Request<#req_message>)
-> Result<tonic::Response<Self::#stream>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
-> Result<tonic::Response<Self::#stream>, tonic::Status>;
}
}
(true, true) => {
@@ -153,9 +147,7 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
#method_doc
async fn #name(&self, request: tonic::Request<tonic::Streaming<#req_message>>)
-> Result<tonic::Response<Self::#stream>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
-> Result<tonic::Response<Self::#stream>, tonic::Status>;
}
}
};