GRPC C++  1.39.1
Data Structures | Public Member Functions
grpc::Server::SyncRequest Class Referencefinal

Public Member Functions

 SyncRequest (Server *server, grpc::internal::RpcServiceMethod *method, grpc_core::Server::RegisteredCallAllocation *data)
 
 SyncRequest (Server *server, grpc::internal::RpcServiceMethod *method, grpc_core::Server::BatchCallAllocation *data)
 
 ~SyncRequest () override
 
bool FinalizeResult (void **, bool *status) override
 FinalizeResult must be called before informing user code that the operation bound to the underlying core completion queue tag has completed. More...
 
void Run (const std::shared_ptr< GlobalCallbacks > &global_callbacks, bool resources)
 
void ContinueRunAfterInterception ()
 
void Cleanup ()
 
- Public Member Functions inherited from grpc::internal::CompletionQueueTag
virtual ~CompletionQueueTag ()
 

Constructor & Destructor Documentation

◆ SyncRequest() [1/2]

grpc::Server::SyncRequest::SyncRequest ( Server server,
grpc::internal::RpcServiceMethod method,
grpc_core::Server::RegisteredCallAllocation data 
)
inline

◆ SyncRequest() [2/2]

grpc::Server::SyncRequest::SyncRequest ( Server server,
grpc::internal::RpcServiceMethod method,
grpc_core::Server::BatchCallAllocation data 
)
inline

◆ ~SyncRequest()

grpc::Server::SyncRequest::~SyncRequest ( )
inlineoverride

Member Function Documentation

◆ Cleanup()

void grpc::Server::SyncRequest::Cleanup ( )
inline

◆ ContinueRunAfterInterception()

void grpc::Server::SyncRequest::ContinueRunAfterInterception ( )
inline

◆ FinalizeResult()

bool grpc::Server::SyncRequest::FinalizeResult ( void **  tag,
bool *  status 
)
inlineoverridevirtual

FinalizeResult must be called before informing user code that the operation bound to the underlying core completion queue tag has completed.

In practice, this means:

  1. For the sync API - before returning from Pluck
  2. For the CQ-based async API - before returning from Next
  3. For the callback-based API - before invoking the user callback

This is the method that translates from core-side tag/status to C++ API-observable tag/status.

The return value is the status of the operation (returning status is the general behavior of this function). If this function returns false, the tag is dropped and not returned from the completion queue: this concept is for events that are observed at core but not requested by the user application (e.g., server shutdown, for server unimplemented method responses, or for cases where a server-side RPC doesn't have a completion notification registered using AsyncNotifyWhenDone)

Implements grpc::internal::CompletionQueueTag.

◆ Run()

void grpc::Server::SyncRequest::Run ( const std::shared_ptr< GlobalCallbacks > &  global_callbacks,
bool  resources 
)
inline

The documentation for this class was generated from the following file: