clang-format

pull/7018/head
Vijay Pai 9 years ago
parent a9c0d7f88b
commit d4d5f4cd53
  1. 48
      include/grpc++/impl/codegen/method_handler_impl.h
  2. 2
      include/grpc++/impl/codegen/service_type.h
  3. 10
      src/compiler/cpp_generator.cc
  4. 17
      test/cpp/end2end/hybrid_end2end_test.cc

@ -178,9 +178,8 @@ template <class Streamer, bool WriteNeeded>
class TemplatedBidiStreamingHandler : public MethodHandler { class TemplatedBidiStreamingHandler : public MethodHandler {
public: public:
TemplatedBidiStreamingHandler( TemplatedBidiStreamingHandler(
std::function<Status(ServerContext*, Streamer*)> std::function<Status(ServerContext*, Streamer*)> func)
func) : func_(func), write_needed_(WriteNeeded) {}
: func_(func), write_needed_(WriteNeeded) {}
void RunHandler(const HandlerParameter& param) GRPC_FINAL { void RunHandler(const HandlerParameter& param) GRPC_FINAL {
Streamer stream(param.call, param.server_context); Streamer stream(param.call, param.server_context);
@ -194,10 +193,10 @@ class TemplatedBidiStreamingHandler : public MethodHandler {
ops.set_compression_level(param.server_context->compression_level()); ops.set_compression_level(param.server_context->compression_level());
} }
if (write_needed_ && status.ok()) { if (write_needed_ && status.ok()) {
// If we needed a write but never did one, we need to mark the // If we needed a write but never did one, we need to mark the
// status as a fail // status as a fail
status = Status(IMPROPER_IMPLEMENTATION, status = Status(IMPROPER_IMPLEMENTATION,
"Service did not provide response message"); "Service did not provide response message");
} }
} }
ops.ServerSendStatus(param.server_context->trailing_metadata_, status); ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
@ -206,24 +205,37 @@ class TemplatedBidiStreamingHandler : public MethodHandler {
} }
private: private:
std::function<Status(ServerContext*, Streamer*)> std::function<Status(ServerContext*, Streamer*)> func_;
func_;
const bool write_needed_; const bool write_needed_;
}; };
template <class ServiceType, class RequestType, class ResponseType> template <class ServiceType, class RequestType, class ResponseType>
class BidiStreamingHandler : public TemplatedBidiStreamingHandler<ServerReaderWriter<ResponseType, RequestType>, false> { class BidiStreamingHandler
: public TemplatedBidiStreamingHandler<
ServerReaderWriter<ResponseType, RequestType>, false> {
public: public:
BidiStreamingHandler(std::function<Status(ServiceType*, ServerContext*, BidiStreamingHandler(
ServerReaderWriter<ResponseType,RequestType>*)> func, ServiceType* service): TemplatedBidiStreamingHandler<ServerReaderWriter<ResponseType, RequestType>,false>(std::bind(func, service, std::placeholders::_1, std::placeholders::_2)) {} std::function<Status(ServiceType*, ServerContext*,
}; ServerReaderWriter<ResponseType, RequestType>*)>
func,
ServiceType* service)
: TemplatedBidiStreamingHandler<
ServerReaderWriter<ResponseType, RequestType>, false>(std::bind(
func, service, std::placeholders::_1, std::placeholders::_2)) {}
};
template <class RequestType, class ResponseType> template <class RequestType, class ResponseType>
class StreamedUnaryHandler : public TemplatedBidiStreamingHandler<ServerUnaryStreamer<RequestType, ResponseType>, true> { class StreamedUnaryHandler
: public TemplatedBidiStreamingHandler<
ServerUnaryStreamer<RequestType, ResponseType>, true> {
public: public:
explicit StreamedUnaryHandler(std::function<Status(ServerContext*, explicit StreamedUnaryHandler(
ServerUnaryStreamer<RequestType,ResponseType>*)> func): TemplatedBidiStreamingHandler<ServerUnaryStreamer<RequestType, ResponseType>, true>(func) {} std::function<Status(ServerContext*,
}; ServerUnaryStreamer<RequestType, ResponseType>*)>
func)
: TemplatedBidiStreamingHandler<
ServerUnaryStreamer<RequestType, ResponseType>, true>(func) {}
};
// Handle unknown method by returning UNIMPLEMENTED error. // Handle unknown method by returning UNIMPLEMENTED error.
class UnknownMethodHandler : public MethodHandler { class UnknownMethodHandler : public MethodHandler {

@ -148,7 +148,7 @@ class Service {
} }
void MarkMethodStreamedUnary(int index, void MarkMethodStreamedUnary(int index,
MethodHandler* streamed_unary_method) { MethodHandler* streamed_unary_method) {
GPR_CODEGEN_ASSERT(methods_[index] && methods_[index]->handler() && GPR_CODEGEN_ASSERT(methods_[index] && methods_[index]->handler() &&
"Cannot mark an async or generic method Streamed Unary"); "Cannot mark an async or generic method Streamed Unary");
methods_[index]->SetHandler(streamed_unary_method); methods_[index]->SetHandler(streamed_unary_method);

@ -616,7 +616,7 @@ void PrintHeaderServerMethodStreamedUnary(
printer->Print(*vars, "template <class BaseClass>\n"); printer->Print(*vars, "template <class BaseClass>\n");
printer->Print(*vars, printer->Print(*vars,
"class WithStreamedUnaryMethod_$Method$ : " "class WithStreamedUnaryMethod_$Method$ : "
"public BaseClass {\n"); "public BaseClass {\n");
printer->Print( printer->Print(
" private:\n" " private:\n"
" void BaseClassMustBeDerivedFromService(const Service *service) " " void BaseClassMustBeDerivedFromService(const Service *service) "
@ -628,9 +628,9 @@ void PrintHeaderServerMethodStreamedUnary(
" ::grpc::Service::MarkMethodStreamedUnary($Idx$,\n" " ::grpc::Service::MarkMethodStreamedUnary($Idx$,\n"
" new ::grpc::StreamedUnaryHandler<$Request$, " " new ::grpc::StreamedUnaryHandler<$Request$, "
"$Response$>(std::bind" "$Response$>(std::bind"
"(&WithStreamedUnaryMethod_$Method$<BaseClass>::" "(&WithStreamedUnaryMethod_$Method$<BaseClass>::"
"Streamed$Method$, this, std::placeholders::_1, " "Streamed$Method$, this, std::placeholders::_1, "
"std::placeholders::_2)));\n" "std::placeholders::_2)));\n"
"}\n"); "}\n");
printer->Print(*vars, printer->Print(*vars,
"~WithStreamedUnaryMethod_$Method$() GRPC_OVERRIDE {\n" "~WithStreamedUnaryMethod_$Method$() GRPC_OVERRIDE {\n"
@ -649,7 +649,7 @@ void PrintHeaderServerMethodStreamedUnary(
"// replace default version of method with streamed unary\n" "// replace default version of method with streamed unary\n"
"virtual ::grpc::Status Streamed$Method$(" "virtual ::grpc::Status Streamed$Method$("
"::grpc::ServerContext* context, " "::grpc::ServerContext* context, "
"::grpc::ServerUnaryStreamer< " "::grpc::ServerUnaryStreamer< "
"$Request$,$Response$>* server_unary_streamer)" "$Request$,$Response$>* server_unary_streamer)"
" = 0;\n"); " = 0;\n");
printer->Outdent(); printer->Outdent();
@ -827,7 +827,7 @@ void PrintHeaderService(Printer *printer, const Service *service,
for (int i = 0; i < service->method_count(); ++i) { for (int i = 0; i < service->method_count(); ++i) {
(*vars)["Idx"] = as_string(i); (*vars)["Idx"] = as_string(i);
PrintHeaderServerMethodStreamedUnary(printer, service->method(i).get(), PrintHeaderServerMethodStreamedUnary(printer, service->method(i).get(),
vars); vars);
} }
printer->Print("typedef "); printer->Print("typedef ");

@ -422,13 +422,13 @@ TEST_F(HybridEnd2endTest, AsyncRequestStreamResponseStream_SyncDupService) {
} }
// Add a second service with one sync streamed unary method. // Add a second service with one sync streamed unary method.
class StreamedUnaryDupPkg : public class StreamedUnaryDupPkg
duplicate::EchoTestService::WithStreamedUnaryMethod_Echo< : public duplicate::EchoTestService::WithStreamedUnaryMethod_Echo<
TestServiceImplDupPkg> { TestServiceImplDupPkg> {
public: public:
Status StreamedEcho(ServerContext* context, Status StreamedEcho(ServerContext* context,
ServerUnaryStreamer<EchoRequest, EchoResponse>* stream) ServerUnaryStreamer<EchoRequest, EchoResponse>* stream)
GRPC_OVERRIDE { GRPC_OVERRIDE {
EchoRequest req; EchoRequest req;
EchoResponse resp; EchoResponse resp;
uint32_t next_msg_sz; uint32_t next_msg_sz;
@ -461,11 +461,12 @@ TEST_F(HybridEnd2endTest,
} }
// Add a second service that is fully Streamed Unary // Add a second service that is fully Streamed Unary
class FullyStreamedUnaryDupPkg : public duplicate::EchoTestService::StreamedUnaryService { class FullyStreamedUnaryDupPkg
: public duplicate::EchoTestService::StreamedUnaryService {
public: public:
Status StreamedEcho(ServerContext* context, Status StreamedEcho(ServerContext* context,
ServerUnaryStreamer<EchoRequest, EchoResponse>* stream) ServerUnaryStreamer<EchoRequest, EchoResponse>* stream)
GRPC_OVERRIDE { GRPC_OVERRIDE {
EchoRequest req; EchoRequest req;
EchoResponse resp; EchoResponse resp;
uint32_t next_msg_sz; uint32_t next_msg_sz;

Loading…
Cancel
Save