Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc::ServerContextBase::CompletionOp Class Referencefinal
Inheritance diagram for grpc::ServerContextBase::CompletionOp:
Inheritance graph
[legend]

Public Member Functions

bool CheckCancelled (CompletionQueue *cq)
 
bool CheckCancelledAsync ()
 
 CompletionOp (CompletionOp &&)=delete
 
 CompletionOp (const CompletionOp &)=delete
 
 CompletionOp (internal::Call *call, grpc::internal::ServerCallbackCall *callback_controller)
 
void ContinueFillOpsAfterInterception () override
 
void ContinueFinalizeResultAfterInterception () override
 
void * core_cq_tag () override
 
void FillOps (internal::Call *call) override
 
bool FinalizeResult (void **tag, bool *status) override
 
CompletionOpoperator= (CompletionOp &&)=delete
 
CompletionOpoperator= (const CompletionOp &)=delete
 
void set_core_cq_tag (void *core_cq_tag)
 
void set_tag (void *tag)
 
void SetHijackingState () override
 
void Unref ()
 
 ~CompletionOp () override
 
- Public Member Functions inherited from grpc::internal::CompletionQueueTag
virtual ~CompletionQueueTag ()
 

Static Public Member Functions

static void operator delete (void *, std::size_t size)
 
static void operator delete (void *, void *)
 

Private Member Functions

bool CheckCancelledNoPluck ()
 

Private Attributes

internal::Call call_
 
grpc::internal::ServerCallbackCall *const callback_controller_
 
int cancelled_
 
void * core_cq_tag_
 
bool done_intercepting_
 
bool finalized_
 
bool has_tag_
 
internal::InterceptorBatchMethodsImpl interceptor_methods_
 
grpc_core::Mutex mu_
 
grpc_core::RefCount refs_
 
void * tag_
 

Detailed Description

Definition at line 70 of file server_context.cc.

Constructor & Destructor Documentation

◆ CompletionOp() [1/3]

grpc::ServerContextBase::CompletionOp::CompletionOp ( internal::Call call,
grpc::internal::ServerCallbackCall callback_controller 
)
inline

Definition at line 75 of file server_context.cc.

◆ CompletionOp() [2/3]

grpc::ServerContextBase::CompletionOp::CompletionOp ( const CompletionOp )
delete

◆ CompletionOp() [3/3]

grpc::ServerContextBase::CompletionOp::CompletionOp ( CompletionOp &&  )
delete

◆ ~CompletionOp()

grpc::ServerContextBase::CompletionOp::~CompletionOp ( )
inlineoverride

Definition at line 93 of file server_context.cc.

Member Function Documentation

◆ CheckCancelled()

bool grpc::ServerContextBase::CompletionOp::CheckCancelled ( CompletionQueue cq)
inline

Definition at line 120 of file server_context.cc.

◆ CheckCancelledAsync()

bool grpc::ServerContextBase::CompletionOp::CheckCancelledAsync ( )
inline

Definition at line 124 of file server_context.cc.

◆ CheckCancelledNoPluck()

bool grpc::ServerContextBase::CompletionOp::CheckCancelledNoPluck ( )
inlineprivate

Definition at line 163 of file server_context.cc.

◆ ContinueFillOpsAfterInterception()

void grpc::ServerContextBase::CompletionOp::ContinueFillOpsAfterInterception ( )
inlineoverridevirtual

Implements grpc::internal::CallOpSetInterface.

Definition at line 145 of file server_context.cc.

◆ ContinueFinalizeResultAfterInterception()

void grpc::ServerContextBase::CompletionOp::ContinueFinalizeResultAfterInterception ( )
inlineoverridevirtual

Implements grpc::internal::CallOpSetInterface.

Definition at line 149 of file server_context.cc.

◆ core_cq_tag()

void* grpc::ServerContextBase::CompletionOp::core_cq_tag ( )
inlineoverridevirtual

Get the tag to be used at the core completion queue. Generally, the value of core_cq_tag will be "this". However, it can be overridden if we want core to process the tag differently (e.g., as a core callback)

Implements grpc::internal::CallOpSetInterface.

Definition at line 133 of file server_context.cc.

◆ FillOps()

void grpc::ServerContextBase::CompletionOp::FillOps ( internal::Call call)
overridevirtual

Fills in grpc_op, starting from ops[*nops] and moving upwards.

Implements grpc::internal::CallOpSetInterface.

Definition at line 189 of file server_context.cc.

◆ FinalizeResult()

bool grpc::ServerContextBase::CompletionOp::FinalizeResult ( void **  tag,
bool status 
)
overridevirtual

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.

Definition at line 205 of file server_context.cc.

◆ operator delete() [1/2]

static void grpc::ServerContextBase::CompletionOp::operator delete ( void *  ,
std::size_t  size 
)
inlinestatic

Definition at line 104 of file server_context.cc.

◆ operator delete() [2/2]

static void grpc::ServerContextBase::CompletionOp::operator delete ( void *  ,
void *   
)
inlinestatic

Definition at line 116 of file server_context.cc.

◆ operator=() [1/2]

CompletionOp& grpc::ServerContextBase::CompletionOp::operator= ( CompletionOp &&  )
delete

◆ operator=() [2/2]

CompletionOp& grpc::ServerContextBase::CompletionOp::operator= ( const CompletionOp )
delete

◆ set_core_cq_tag()

void grpc::ServerContextBase::CompletionOp::set_core_cq_tag ( void *  core_cq_tag)
inline

Definition at line 131 of file server_context.cc.

◆ set_tag()

void grpc::ServerContextBase::CompletionOp::set_tag ( void *  tag)
inline

Definition at line 126 of file server_context.cc.

◆ SetHijackingState()

void grpc::ServerContextBase::CompletionOp::SetHijackingState ( )
inlineoverridevirtual

Implements grpc::internal::CallOpSetInterface.

Definition at line 139 of file server_context.cc.

◆ Unref()

void grpc::ServerContextBase::CompletionOp::Unref ( )

Definition at line 181 of file server_context.cc.

Member Data Documentation

◆ call_

internal::Call grpc::ServerContextBase::CompletionOp::call_
private

Definition at line 168 of file server_context.cc.

◆ callback_controller_

grpc::internal::ServerCallbackCall* const grpc::ServerContextBase::CompletionOp::callback_controller_
private

Definition at line 169 of file server_context.cc.

◆ cancelled_

int grpc::ServerContextBase::CompletionOp::cancelled_
private

Definition at line 176 of file server_context.cc.

◆ core_cq_tag_

void* grpc::ServerContextBase::CompletionOp::core_cq_tag_
private

Definition at line 172 of file server_context.cc.

◆ done_intercepting_

bool grpc::ServerContextBase::CompletionOp::done_intercepting_
private

Definition at line 177 of file server_context.cc.

◆ finalized_

bool grpc::ServerContextBase::CompletionOp::finalized_
private

Definition at line 175 of file server_context.cc.

◆ has_tag_

bool grpc::ServerContextBase::CompletionOp::has_tag_
private

Definition at line 170 of file server_context.cc.

◆ interceptor_methods_

internal::InterceptorBatchMethodsImpl grpc::ServerContextBase::CompletionOp::interceptor_methods_
private

Definition at line 178 of file server_context.cc.

◆ mu_

grpc_core::Mutex grpc::ServerContextBase::CompletionOp::mu_
private

Definition at line 174 of file server_context.cc.

◆ refs_

grpc_core::RefCount grpc::ServerContextBase::CompletionOp::refs_
private

Definition at line 173 of file server_context.cc.

◆ tag_

void* grpc::ServerContextBase::CompletionOp::tag_
private

Definition at line 171 of file server_context.cc.


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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:31