19 #ifndef GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H 20 #define GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H 56 Status req_status,
void* handler_data,
57 std::function<
void()> requester)
59 server_context(context),
62 internal_data(handler_data),
63 call_requester(
std::move(requester)) {}
80 Status* status,
void** handler_data) {
112 if ((api_type_ == ApiType::SYNC) &&
113 (type == ApiType::ASYNC || type == ApiType::RAW)) {
116 }
else if (api_type_ != ApiType::SYNC) {
122 "You are marking method %s as '%s', even though it was " 123 "previously marked '%s'. This behavior will overwrite the original " 124 "behavior. If you expected this then ignore this message.",
125 name(), TypeToString(api_type_), TypeToString(type));
133 std::unique_ptr<MethodHandler> handler_;
143 case ApiType::CALL_BACK:
145 case ApiType::RAW_CALL_BACK:
146 return "raw_callback";
156 #endif // GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:70
#define GPR_CODEGEN_ASSERT(x)
Codegen specific version of GPR_ASSERT.
Definition: core_codegen_interface.h:145
#define GPR_INFO
Definition: log.h:56
std::function< void()> call_requester
Definition: rpc_service_method.h:70
void * server_tag() const
Definition: rpc_service_method.h:106
ApiType
Definition: rpc_service_method.h:97
virtual void * Deserialize(grpc_call *call, grpc_byte_buffer *req, Status *status, void **handler_data)
Definition: rpc_service_method.h:79
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
Log a message.
virtual ~MethodHandler()
Definition: rpc_service_method.h:43
Definition: async_unary_call_impl.h:302
Definition: grpc_types.h:40
::grpc_impl::ServerContext * server_context
Definition: rpc_service_method.h:66
MethodHandler * handler() const
if MethodHandler is nullptr, then this is an async method
Definition: rpc_service_method.h:108
RpcType
Definition: rpc_method.h:31
Call * call
Definition: rpc_service_method.h:65
::grpc_impl::ServerContext ServerContext
Definition: server_context.h:25
A ServerContext allows the person implementing a service handler to:
Definition: server_context_impl.h:118
void SetHandler(MethodHandler *handler)
Definition: rpc_service_method.h:110
Descriptor of an RPC method.
Definition: rpc_method.h:29
void * internal_data
Definition: rpc_service_method.h:69
HandlerParameter(Call *c, ::grpc_impl::ServerContext *context, void *req, Status req_status, void *handler_data, std::function< void()> requester)
Constructor for HandlerParameter.
Definition: rpc_service_method.h:55
ApiType api_type() const
Definition: rpc_service_method.h:109
void set_server_tag(void *tag)
Definition: rpc_service_method.h:105
This header provides an object that reads bytes directly from a grpc::ByteBuffer, via the ZeroCopyInp...
Definition: alarm.h:24
Server side rpc method class.
Definition: rpc_service_method.h:87
void SetServerApiType(RpcServiceMethod::ApiType type)
Definition: rpc_service_method.h:111
Definition: rpc_service_method.h:44
RpcServiceMethod(const char *name, RpcMethod::RpcType type, MethodHandler *handler)
Takes ownership of the handler.
Definition: rpc_service_method.h:90
~HandlerParameter()
Definition: rpc_service_method.h:64
An Alarm posts the user-provided tag to its associated completion queue or invokes the user-provided ...
Definition: alarm_impl.h:33
Base class for running an RPC handler.
Definition: rpc_service_method.h:41
Did it work? If it didn't, why?
Definition: status.h:31
Status status
Definition: rpc_service_method.h:68
void * request
Definition: rpc_service_method.h:67
Straightforward wrapping of the C call object.
Definition: call.h:38