19 #ifndef GRPCPP_IMPL_CODEGEN_CLIENT_UNARY_CALL_H 20 #define GRPCPP_IMPL_CODEGEN_CLIENT_UNARY_CALL_H 32 class CompletionQueue;
37 template <
class InputMessage,
class OutputMessage>
40 OutputMessage* result) {
42 channel, method, context, request, result)
46 template <
class InputMessage,
class OutputMessage>
51 OutputMessage* result) {
55 Call call(channel->CreateCall(method, context, &cq));
60 status_ = ops.SendMessagePtr(&request);
64 ops.SendInitialMetadata(&context->send_initial_metadata_,
65 context->initial_metadata_flags());
66 ops.RecvInitialMetadata(context);
67 ops.RecvMessage(result);
69 ops.ClientSendClose();
70 ops.ClientRecvStatus(context, &status_);
71 call.PerformOps(&ops);
80 if (!ops.got_message && status_.
ok()) {
82 "No message returned for unary request");
94 #endif // GRPCPP_IMPL_CODEGEN_CLIENT_UNARY_CALL_H
Status status()
Definition: client_unary_call.h:85
Primary implementation of CallOpSetInterface.
Definition: call_op_set.h:827
#define GRPC_CQ_CURRENT_VERSION
Definition: grpc_types.h:695
Definition: grpc_types.h:697
A ClientContext allows the person implementing a service client to:
Definition: client_context.h:174
::google::protobuf::util::Status Status
Definition: config_protobuf.h:93
Descriptor of an RPC method.
Definition: rpc_method.h:29
Events are popped out by calling grpc_completion_queue_pluck() API ONLY.
Definition: grpc_types.h:674
Definition: call_op_set.h:293
This header provides an object that reads bytes directly from a grpc::ByteBuffer, via the ZeroCopyInp...
Definition: alarm.h:24
Codegen interface for grpc::Channel.
Definition: channel_interface.h:65
The completion queue will have an associated pollset and there is no restriction on the type of file ...
Definition: grpc_types.h:654
Definition: byte_buffer.h:41
Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Wrapper that performs a blocking unary call.
Definition: client_unary_call.h:38
A thin wrapper around grpc_completion_queue (see src/core/lib/surface/completion_queue.h).
Definition: completion_queue.h:95
Definition: call_op_set.h:600
BlockingUnaryCallImpl(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:49
bool ok() const
Is the status OK?
Definition: status.h:118
Definition: channel_interface.h:44
Did it work? If it didn't, why?
Definition: status.h:31
Operation is not implemented or not supported/enabled in this service.
Definition: status_code_enum.h:115
Definition: call_op_set.h:750
Straightforward wrapping of the C call object.
Definition: call.h:36