aboutsummaryrefslogtreecommitdiff
path: root/include/grpcpp/impl/codegen/client_callback.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/grpcpp/impl/codegen/client_callback.h')
-rw-r--r--include/grpcpp/impl/codegen/client_callback.h152
1 files changed, 78 insertions, 74 deletions
diff --git a/include/grpcpp/impl/codegen/client_callback.h b/include/grpcpp/impl/codegen/client_callback.h
index 04ab4aa8b8..f16cd9f10f 100644
--- a/include/grpcpp/impl/codegen/client_callback.h
+++ b/include/grpcpp/impl/codegen/client_callback.h
@@ -48,11 +48,11 @@ class RpcMethod;
template <class InputMessage, class OutputMessage,
class BaseInputMessage = InputMessage,
class BaseOutputMessage = OutputMessage>
-void CallbackUnaryCall(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context,
+void CallbackUnaryCall(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context,
const InputMessage* request, OutputMessage* result,
- std::function<void(grpc::Status)> on_completion) {
+ std::function<void(::grpc::Status)> on_completion) {
static_assert(std::is_base_of<BaseInputMessage, InputMessage>::value,
"Invalid input message specification");
static_assert(std::is_base_of<BaseOutputMessage, OutputMessage>::value,
@@ -64,17 +64,17 @@ void CallbackUnaryCall(grpc::ChannelInterface* channel,
template <class InputMessage, class OutputMessage>
class CallbackUnaryCallImpl {
public:
- CallbackUnaryCallImpl(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context,
+ CallbackUnaryCallImpl(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context,
const InputMessage* request, OutputMessage* result,
- std::function<void(grpc::Status)> on_completion) {
- grpc::CompletionQueue* cq = channel->CallbackCQ();
+ std::function<void(::grpc::Status)> on_completion) {
+ ::grpc::CompletionQueue* cq = channel->CallbackCQ();
GPR_CODEGEN_ASSERT(cq != nullptr);
grpc::internal::Call call(channel->CreateCall(method, context, cq));
using FullCallOpSet = grpc::internal::CallOpSet<
- grpc::internal::CallOpSendInitialMetadata,
+ ::grpc::internal::CallOpSendInitialMetadata,
grpc::internal::CallOpSendMessage,
grpc::internal::CallOpRecvInitialMetadata,
grpc::internal::CallOpRecvMessage<OutputMessage>,
@@ -87,14 +87,14 @@ class CallbackUnaryCallImpl {
};
const size_t alloc_sz = sizeof(OpSetAndTag);
auto* const alloced = static_cast<OpSetAndTag*>(
- grpc::g_core_codegen_interface->grpc_call_arena_alloc(call.call(),
- alloc_sz));
+ ::grpc::g_core_codegen_interface->grpc_call_arena_alloc(call.call(),
+ alloc_sz));
auto* ops = new (&alloced->opset) FullCallOpSet;
auto* tag = new (&alloced->tag)
grpc::internal::CallbackWithStatusTag(call.call(), on_completion, ops);
// TODO(vjpai): Unify code with sync API as much as possible
- grpc::Status s = ops->SendMessagePtr(request);
+ ::grpc::Status s = ops->SendMessagePtr(request);
if (!s.ok()) {
tag->force_run(s);
return;
@@ -123,7 +123,7 @@ class ClientReactor {
/// hold).
///
/// \param[in] s The status outcome of this RPC
- virtual void OnDone(const grpc::Status& /*s*/) = 0;
+ virtual void OnDone(const ::grpc::Status& /*s*/) = 0;
/// InternalScheduleOnDone is not part of the API and is not meant to be
/// overridden. It is virtual to allow successful builds for certain bazel
@@ -132,7 +132,7 @@ class ClientReactor {
/// the virtual call is slower than a direct call, this function is
/// heavyweight and the cost of the virtual call is not much in comparison.
/// This function may be removed or devirtualized in the future.
- virtual void InternalScheduleOnDone(grpc::Status s);
+ virtual void InternalScheduleOnDone(::grpc::Status s);
/// InternalTrailersOnly is not part of the API and is not meant to be
/// overridden. It is virtual to allow successful builds for certain bazel
@@ -163,7 +163,7 @@ class ClientCallbackReaderWriter {
public:
virtual ~ClientCallbackReaderWriter() {}
virtual void StartCall() = 0;
- virtual void Write(const Request* req, grpc::WriteOptions options) = 0;
+ virtual void Write(const Request* req, ::grpc::WriteOptions options) = 0;
virtual void WritesDone() = 0;
virtual void Read(Response* resp) = 0;
virtual void AddHold(int holds) = 0;
@@ -195,9 +195,9 @@ class ClientCallbackWriter {
public:
virtual ~ClientCallbackWriter() {}
virtual void StartCall() = 0;
- void Write(const Request* req) { Write(req, grpc::WriteOptions()); }
- virtual void Write(const Request* req, grpc::WriteOptions options) = 0;
- void WriteLast(const Request* req, grpc::WriteOptions options) {
+ void Write(const Request* req) { Write(req, ::grpc::WriteOptions()); }
+ virtual void Write(const Request* req, ::grpc::WriteOptions options) = 0;
+ void WriteLast(const Request* req, ::grpc::WriteOptions options) {
Write(req, options.set_last_message());
}
virtual void WritesDone() = 0;
@@ -258,7 +258,9 @@ class ClientBidiReactor : public internal::ClientReactor {
/// \param[in] req The message to be written. The library does not take
/// ownership but the caller must ensure that the message is
/// not deleted or modified until OnWriteDone is called.
- void StartWrite(const Request* req) { StartWrite(req, grpc::WriteOptions()); }
+ void StartWrite(const Request* req) {
+ StartWrite(req, ::grpc::WriteOptions());
+ }
/// Initiate/post a write operation with specified options.
///
@@ -266,7 +268,7 @@ class ClientBidiReactor : public internal::ClientReactor {
/// ownership but the caller must ensure that the message is
/// not deleted or modified until OnWriteDone is called.
/// \param[in] options The WriteOptions to use for writing this message
- void StartWrite(const Request* req, grpc::WriteOptions options) {
+ void StartWrite(const Request* req, ::grpc::WriteOptions options) {
stream_->Write(req, options);
}
@@ -279,7 +281,7 @@ class ClientBidiReactor : public internal::ClientReactor {
/// ownership but the caller must ensure that the message is
/// not deleted or modified until OnWriteDone is called.
/// \param[in] options The WriteOptions to use for writing this message
- void StartWriteLast(const Request* req, grpc::WriteOptions options) {
+ void StartWriteLast(const Request* req, ::grpc::WriteOptions options) {
StartWrite(req, options.set_last_message());
}
@@ -326,7 +328,7 @@ class ClientBidiReactor : public internal::ClientReactor {
/// (like failure to remove a hold).
///
/// \param[in] s The status outcome of this RPC
- void OnDone(const grpc::Status& /*s*/) override {}
+ void OnDone(const ::grpc::Status& /*s*/) override {}
/// Notifies the application that a read of initial metadata from the
/// server is done. If the application chooses not to implement this method,
@@ -383,7 +385,7 @@ class ClientReadReactor : public internal::ClientReactor {
}
void RemoveHold() { reader_->RemoveHold(); }
- void OnDone(const grpc::Status& /*s*/) override {}
+ void OnDone(const ::grpc::Status& /*s*/) override {}
virtual void OnReadInitialMetadataDone(bool /*ok*/) {}
virtual void OnReadDone(bool /*ok*/) {}
@@ -399,11 +401,13 @@ template <class Request>
class ClientWriteReactor : public internal::ClientReactor {
public:
void StartCall() { writer_->StartCall(); }
- void StartWrite(const Request* req) { StartWrite(req, grpc::WriteOptions()); }
- void StartWrite(const Request* req, grpc::WriteOptions options) {
+ void StartWrite(const Request* req) {
+ StartWrite(req, ::grpc::WriteOptions());
+ }
+ void StartWrite(const Request* req, ::grpc::WriteOptions options) {
writer_->Write(req, options);
}
- void StartWriteLast(const Request* req, grpc::WriteOptions options) {
+ void StartWriteLast(const Request* req, ::grpc::WriteOptions options) {
StartWrite(req, options.set_last_message());
}
void StartWritesDone() { writer_->WritesDone(); }
@@ -415,7 +419,7 @@ class ClientWriteReactor : public internal::ClientReactor {
}
void RemoveHold() { writer_->RemoveHold(); }
- void OnDone(const grpc::Status& /*s*/) override {}
+ void OnDone(const ::grpc::Status& /*s*/) override {}
virtual void OnReadInitialMetadataDone(bool /*ok*/) {}
virtual void OnWriteDone(bool /*ok*/) {}
virtual void OnWritesDoneDone(bool /*ok*/) {}
@@ -441,7 +445,7 @@ class ClientWriteReactor : public internal::ClientReactor {
class ClientUnaryReactor : public internal::ClientReactor {
public:
void StartCall() { call_->StartCall(); }
- void OnDone(const grpc::Status& /*s*/) override {}
+ void OnDone(const ::grpc::Status& /*s*/) override {}
virtual void OnReadInitialMetadataDone(bool /*ok*/) {}
private:
@@ -530,7 +534,7 @@ class ClientCallbackReaderWriterImpl
call_.PerformOps(&read_ops_);
}
- void Write(const Request* msg, grpc::WriteOptions options)
+ void Write(const Request* msg, ::grpc::WriteOptions options)
ABSL_LOCKS_EXCLUDED(start_mu_) override {
if (options.is_last_message()) {
options.set_buffer_hint();
@@ -589,7 +593,7 @@ class ClientCallbackReaderWriterImpl
friend class ClientCallbackReaderWriterFactory<Request, Response>;
ClientCallbackReaderWriterImpl(grpc::internal::Call call,
- grpc::ClientContext* context,
+ ::grpc::ClientContext* context,
ClientBidiReactor<Request, Response>* reactor)
: context_(context),
call_(call),
@@ -647,11 +651,11 @@ class ClientCallbackReaderWriterImpl
void MaybeFinish(bool from_reaction) {
if (GPR_UNLIKELY(callbacks_outstanding_.fetch_sub(
1, std::memory_order_acq_rel) == 1)) {
- grpc::Status s = std::move(finish_status_);
+ ::grpc::Status s = std::move(finish_status_);
auto* reactor = reactor_;
auto* call = call_.call();
this->~ClientCallbackReaderWriterImpl();
- grpc::g_core_codegen_interface->grpc_call_unref(call);
+ ::grpc::g_core_codegen_interface->grpc_call_unref(call);
if (GPR_LIKELY(from_reaction)) {
reactor->OnDone(s);
} else {
@@ -660,7 +664,7 @@ class ClientCallbackReaderWriterImpl
}
}
- grpc::ClientContext* const context_;
+ ::grpc::ClientContext* const context_;
grpc::internal::Call call_;
ClientBidiReactor<Request, Response>* const reactor_;
@@ -674,7 +678,7 @@ class ClientCallbackReaderWriterImpl
grpc::internal::CallOpSet<grpc::internal::CallOpClientRecvStatus> finish_ops_;
grpc::internal::CallbackWithSuccessTag finish_tag_;
- grpc::Status finish_status_;
+ ::grpc::Status finish_status_;
grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata,
grpc::internal::CallOpSendMessage,
@@ -707,15 +711,15 @@ class ClientCallbackReaderWriterImpl
template <class Request, class Response>
class ClientCallbackReaderWriterFactory {
public:
- static void Create(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context,
+ static void Create(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context,
ClientBidiReactor<Request, Response>* reactor) {
grpc::internal::Call call =
channel->CreateCall(method, context, channel->CallbackCQ());
- grpc::g_core_codegen_interface->grpc_call_ref(call.call());
- new (grpc::g_core_codegen_interface->grpc_call_arena_alloc(
+ ::grpc::g_core_codegen_interface->grpc_call_ref(call.call());
+ new (::grpc::g_core_codegen_interface->grpc_call_arena_alloc(
call.call(), sizeof(ClientCallbackReaderWriterImpl<Request, Response>)))
ClientCallbackReaderWriterImpl<Request, Response>(call, context,
reactor);
@@ -806,8 +810,8 @@ class ClientCallbackReaderImpl : public ClientCallbackReader<Response> {
friend class ClientCallbackReaderFactory<Response>;
template <class Request>
- ClientCallbackReaderImpl(grpc::internal::Call call,
- grpc::ClientContext* context, Request* request,
+ ClientCallbackReaderImpl(::grpc::internal::Call call,
+ ::grpc::ClientContext* context, Request* request,
ClientReadReactor<Response>* reactor)
: context_(context), call_(call), reactor_(reactor) {
this->BindReactor(reactor);
@@ -820,11 +824,11 @@ class ClientCallbackReaderImpl : public ClientCallbackReader<Response> {
void MaybeFinish(bool from_reaction) {
if (GPR_UNLIKELY(callbacks_outstanding_.fetch_sub(
1, std::memory_order_acq_rel) == 1)) {
- grpc::Status s = std::move(finish_status_);
+ ::grpc::Status s = std::move(finish_status_);
auto* reactor = reactor_;
auto* call = call_.call();
this->~ClientCallbackReaderImpl();
- grpc::g_core_codegen_interface->grpc_call_unref(call);
+ ::grpc::g_core_codegen_interface->grpc_call_unref(call);
if (GPR_LIKELY(from_reaction)) {
reactor->OnDone(s);
} else {
@@ -833,7 +837,7 @@ class ClientCallbackReaderImpl : public ClientCallbackReader<Response> {
}
}
- grpc::ClientContext* const context_;
+ ::grpc::ClientContext* const context_;
grpc::internal::Call call_;
ClientReadReactor<Response>* const reactor_;
@@ -846,7 +850,7 @@ class ClientCallbackReaderImpl : public ClientCallbackReader<Response> {
grpc::internal::CallOpSet<grpc::internal::CallOpClientRecvStatus> finish_ops_;
grpc::internal::CallbackWithSuccessTag finish_tag_;
- grpc::Status finish_status_;
+ ::grpc::Status finish_status_;
grpc::internal::CallOpSet<grpc::internal::CallOpRecvMessage<Response>>
read_ops_;
@@ -867,15 +871,15 @@ template <class Response>
class ClientCallbackReaderFactory {
public:
template <class Request>
- static void Create(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context, const Request* request,
+ static void Create(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context, const Request* request,
ClientReadReactor<Response>* reactor) {
grpc::internal::Call call =
channel->CreateCall(method, context, channel->CallbackCQ());
- grpc::g_core_codegen_interface->grpc_call_ref(call.call());
- new (grpc::g_core_codegen_interface->grpc_call_arena_alloc(
+ ::grpc::g_core_codegen_interface->grpc_call_ref(call.call());
+ new (::grpc::g_core_codegen_interface->grpc_call_arena_alloc(
call.call(), sizeof(ClientCallbackReaderImpl<Response>)))
ClientCallbackReaderImpl<Response>(call, context, request, reactor);
}
@@ -928,7 +932,7 @@ class ClientCallbackWriterImpl : public ClientCallbackWriter<Request> {
this->MaybeFinish(/*from_reaction=*/false);
}
- void Write(const Request* msg, grpc::WriteOptions options)
+ void Write(const Request* msg, ::grpc::WriteOptions options)
ABSL_LOCKS_EXCLUDED(start_mu_) override {
if (GPR_UNLIKELY(options.is_last_message())) {
options.set_buffer_hint();
@@ -991,8 +995,8 @@ class ClientCallbackWriterImpl : public ClientCallbackWriter<Request> {
friend class ClientCallbackWriterFactory<Request>;
template <class Response>
- ClientCallbackWriterImpl(grpc::internal::Call call,
- grpc::ClientContext* context, Response* response,
+ ClientCallbackWriterImpl(::grpc::internal::Call call,
+ ::grpc::ClientContext* context, Response* response,
ClientWriteReactor<Request>* reactor)
: context_(context),
call_(call),
@@ -1038,11 +1042,11 @@ class ClientCallbackWriterImpl : public ClientCallbackWriter<Request> {
void MaybeFinish(bool from_reaction) {
if (GPR_UNLIKELY(callbacks_outstanding_.fetch_sub(
1, std::memory_order_acq_rel) == 1)) {
- grpc::Status s = std::move(finish_status_);
+ ::grpc::Status s = std::move(finish_status_);
auto* reactor = reactor_;
auto* call = call_.call();
this->~ClientCallbackWriterImpl();
- grpc::g_core_codegen_interface->grpc_call_unref(call);
+ ::grpc::g_core_codegen_interface->grpc_call_unref(call);
if (GPR_LIKELY(from_reaction)) {
reactor->OnDone(s);
} else {
@@ -1051,7 +1055,7 @@ class ClientCallbackWriterImpl : public ClientCallbackWriter<Request> {
}
}
- grpc::ClientContext* const context_;
+ ::grpc::ClientContext* const context_;
grpc::internal::Call call_;
ClientWriteReactor<Request>* const reactor_;
@@ -1067,7 +1071,7 @@ class ClientCallbackWriterImpl : public ClientCallbackWriter<Request> {
grpc::internal::CallOpClientRecvStatus>
finish_ops_;
grpc::internal::CallbackWithSuccessTag finish_tag_;
- grpc::Status finish_status_;
+ ::grpc::Status finish_status_;
grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata,
grpc::internal::CallOpSendMessage,
@@ -1096,15 +1100,15 @@ template <class Request>
class ClientCallbackWriterFactory {
public:
template <class Response>
- static void Create(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context, Response* response,
+ static void Create(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context, Response* response,
ClientWriteReactor<Request>* reactor) {
grpc::internal::Call call =
channel->CreateCall(method, context, channel->CallbackCQ());
- grpc::g_core_codegen_interface->grpc_call_ref(call.call());
- new (grpc::g_core_codegen_interface->grpc_call_arena_alloc(
+ ::grpc::g_core_codegen_interface->grpc_call_ref(call.call());
+ new (::grpc::g_core_codegen_interface->grpc_call_arena_alloc(
call.call(), sizeof(ClientCallbackWriterImpl<Request>)))
ClientCallbackWriterImpl<Request>(call, context, response, reactor);
}
@@ -1155,8 +1159,8 @@ class ClientCallbackUnaryImpl final : public ClientCallbackUnary {
friend class ClientCallbackUnaryFactory;
template <class Request, class Response>
- ClientCallbackUnaryImpl(grpc::internal::Call call,
- grpc::ClientContext* context, Request* request,
+ ClientCallbackUnaryImpl(::grpc::internal::Call call,
+ ::grpc::ClientContext* context, Request* request,
Response* response, ClientUnaryReactor* reactor)
: context_(context), call_(call), reactor_(reactor) {
this->BindReactor(reactor);
@@ -1173,16 +1177,16 @@ class ClientCallbackUnaryImpl final : public ClientCallbackUnary {
void MaybeFinish() {
if (GPR_UNLIKELY(callbacks_outstanding_.fetch_sub(
1, std::memory_order_acq_rel) == 1)) {
- grpc::Status s = std::move(finish_status_);
+ ::grpc::Status s = std::move(finish_status_);
auto* reactor = reactor_;
auto* call = call_.call();
this->~ClientCallbackUnaryImpl();
- grpc::g_core_codegen_interface->grpc_call_unref(call);
+ ::grpc::g_core_codegen_interface->grpc_call_unref(call);
reactor->OnDone(s);
}
}
- grpc::ClientContext* const context_;
+ ::grpc::ClientContext* const context_;
grpc::internal::Call call_;
ClientUnaryReactor* const reactor_;
@@ -1197,7 +1201,7 @@ class ClientCallbackUnaryImpl final : public ClientCallbackUnary {
grpc::internal::CallOpClientRecvStatus>
finish_ops_;
grpc::internal::CallbackWithSuccessTag finish_tag_;
- grpc::Status finish_status_;
+ ::grpc::Status finish_status_;
// This call will have 2 callbacks: start and finish
std::atomic<intptr_t> callbacks_outstanding_{2};
@@ -1207,16 +1211,16 @@ class ClientCallbackUnaryFactory {
public:
template <class Request, class Response, class BaseRequest = Request,
class BaseResponse = Response>
- static void Create(grpc::ChannelInterface* channel,
- const grpc::internal::RpcMethod& method,
- grpc::ClientContext* context, const Request* request,
+ static void Create(::grpc::ChannelInterface* channel,
+ const ::grpc::internal::RpcMethod& method,
+ ::grpc::ClientContext* context, const Request* request,
Response* response, ClientUnaryReactor* reactor) {
grpc::internal::Call call =
channel->CreateCall(method, context, channel->CallbackCQ());
- grpc::g_core_codegen_interface->grpc_call_ref(call.call());
+ ::grpc::g_core_codegen_interface->grpc_call_ref(call.call());
- new (grpc::g_core_codegen_interface->grpc_call_arena_alloc(
+ new (::grpc::g_core_codegen_interface->grpc_call_arena_alloc(
call.call(), sizeof(ClientCallbackUnaryImpl)))
ClientCallbackUnaryImpl(call, context,
static_cast<const BaseRequest*>(request),