Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc::internal::AlarmImpl Class Reference
Inheritance diagram for grpc::internal::AlarmImpl:
Inheritance graph
[legend]

Public Member Functions

 AlarmImpl ()
 
void Cancel ()
 
void Destroy ()
 
bool FinalizeResult (void **tag, bool *) override
 
void Set (gpr_timespec deadline, std::function< void(bool)> f)
 
void Set (grpc::CompletionQueue *cq, gpr_timespec deadline, void *tag)
 
 ~AlarmImpl () override
 
- Public Member Functions inherited from grpc::internal::CompletionQueueTag
virtual ~CompletionQueueTag ()
 

Private Member Functions

void Ref ()
 
void Unref ()
 

Private Attributes

std::function< void(bool)> callback_
 
grpc_cq_completion completion_
 
grpc_completion_queuecq_
 
grpc_closure on_alarm_
 
gpr_refcount refs_
 
void * tag_
 
grpc_timer timer_
 

Detailed Description

Definition at line 43 of file alarm.cc.

Constructor & Destructor Documentation

◆ AlarmImpl()

grpc::internal::AlarmImpl::AlarmImpl ( )
inline

Definition at line 45 of file alarm.cc.

◆ ~AlarmImpl()

grpc::internal::AlarmImpl::~AlarmImpl ( )
inlineoverride

Definition at line 49 of file alarm.cc.

Member Function Documentation

◆ Cancel()

void grpc::internal::AlarmImpl::Cancel ( )
inline

Definition at line 107 of file alarm.cc.

◆ Destroy()

void grpc::internal::AlarmImpl::Destroy ( )
inline

Definition at line 112 of file alarm.cc.

◆ FinalizeResult()

bool grpc::internal::AlarmImpl::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.

Definition at line 50 of file alarm.cc.

◆ Ref()

void grpc::internal::AlarmImpl::Ref ( )
inlineprivate

Definition at line 118 of file alarm.cc.

◆ Set() [1/2]

void grpc::internal::AlarmImpl::Set ( gpr_timespec  deadline,
std::function< void(bool)>  f 
)
inline

Definition at line 83 of file alarm.cc.

◆ Set() [2/2]

void grpc::internal::AlarmImpl::Set ( grpc::CompletionQueue cq,
gpr_timespec  deadline,
void *  tag 
)
inline

Definition at line 55 of file alarm.cc.

◆ Unref()

void grpc::internal::AlarmImpl::Unref ( )
inlineprivate

Definition at line 119 of file alarm.cc.

Member Data Documentation

◆ callback_

std::function<void(bool)> grpc::internal::AlarmImpl::callback_
private

Definition at line 132 of file alarm.cc.

◆ completion_

grpc_cq_completion grpc::internal::AlarmImpl::completion_
private

Definition at line 128 of file alarm.cc.

◆ cq_

grpc_completion_queue* grpc::internal::AlarmImpl::cq_
private

Definition at line 130 of file alarm.cc.

◆ on_alarm_

grpc_closure grpc::internal::AlarmImpl::on_alarm_
private

Definition at line 127 of file alarm.cc.

◆ refs_

gpr_refcount grpc::internal::AlarmImpl::refs_
private

Definition at line 126 of file alarm.cc.

◆ tag_

void* grpc::internal::AlarmImpl::tag_
private

Definition at line 131 of file alarm.cc.

◆ timer_

grpc_timer grpc::internal::AlarmImpl::timer_
private

Definition at line 125 of file alarm.cc.


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


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