19 #ifndef GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H 20 #define GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H 54 Status req_status,
void* handler_data,
55 std::function<
void()> requester)
110 if ((api_type_ == ApiType::SYNC) &&
111 (type == ApiType::ASYNC || type == ApiType::RAW)) {
114 }
else if (api_type_ != ApiType::SYNC) {
120 "You are marking method %s as '%s', even though it was " 121 "previously marked '%s'. This behavior will overwrite the original " 122 "behavior. If you expected this then ignore this message.",
123 name(), TypeToString(api_type_), TypeToString(type));
131 std::unique_ptr<MethodHandler> handler_;
141 case ApiType::CALL_BACK:
143 case ApiType::RAW_CALL_BACK:
144 return "raw_callback";
154 #endif // GRPCPP_IMPL_CODEGEN_RPC_SERVICE_METHOD_H
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:70
ServerContext * server_context
Definition: rpc_service_method.h:64
#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:68
void * server_tag() const
Definition: rpc_service_method.h:104
ApiType
Definition: rpc_service_method.h:95
virtual void * Deserialize(grpc_call *call, grpc_byte_buffer *req, Status *status, void **handler_data)
Definition: rpc_service_method.h:77
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:41
Definition: async_unary_call.h:303
Definition: grpc_types.h:40
MethodHandler * handler() const
if MethodHandler is nullptr, then this is an async method
Definition: rpc_service_method.h:106
RpcType
Definition: rpc_method.h:31
Call * call
Definition: rpc_service_method.h:63
HandlerParameter(Call *c, ServerContext *context, void *req, Status req_status, void *handler_data, std::function< void()> requester)
Constructor for HandlerParameter.
Definition: rpc_service_method.h:53
void SetHandler(MethodHandler *handler)
Definition: rpc_service_method.h:108
Descriptor of an RPC method.
Definition: rpc_method.h:29
void * internal_data
Definition: rpc_service_method.h:67
ApiType api_type() const
Definition: rpc_service_method.h:107
void set_server_tag(void *tag)
Definition: rpc_service_method.h:103
virtual void RunHandler(const HandlerParameter ¶m)=0
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:85
void SetServerApiType(RpcServiceMethod::ApiType type)
Definition: rpc_service_method.h:109
Definition: rpc_service_method.h:42
A ServerContext allows the person implementing a service handler to:
Definition: server_context.h:114
RpcServiceMethod(const char *name, RpcMethod::RpcType type, MethodHandler *handler)
Takes ownership of the handler.
Definition: rpc_service_method.h:88
~HandlerParameter()
Definition: rpc_service_method.h:62
Base class for running an RPC handler.
Definition: rpc_service_method.h:39
Did it work? If it didn't, why?
Definition: status.h:31
Status status
Definition: rpc_service_method.h:66
void * request
Definition: rpc_service_method.h:65
Straightforward wrapping of the C call object.
Definition: call.h:38