36 #ifndef GRPCXX_ALARM_H
37 #define GRPCXX_ALARM_H
44 #include <grpc/grpc.h>
67 alarm_(grpc_alarm_create(cq->cq(),
TimePoint<T>(deadline).raw_time(),
68 static_cast<void*>(&tag_))) {}
71 ~Alarm() { grpc_alarm_destroy(alarm_); }
75 void Cancel() { grpc_alarm_cancel(alarm_); }
80 AlarmEntry(
void* tag) : tag_(tag) {}
81 bool FinalizeResult(
void** tag,
bool* status)
override {
96 #endif // GRPCXX_ALARM_H
An interface allowing implementors to process and filter event tags.
Definition: completion_queue_tag.h:40
A thin wrapper around grpc_alarm (see / / src/core/surface/alarm.h).
Definition: alarm.h:53
Alarm(CompletionQueue *cq, const T &deadline, void *tag)
Create a completion queue alarm instance associated to cq.
Definition: alarm.h:65
Classes that require gRPC to be initialized should inherit from this class.
Definition: grpc_library.h:52
If you are trying to use CompletionQueue::AsyncNext with a time class that isn't either gpr_timespec ...
Definition: time.h:53
struct grpc_alarm grpc_alarm
An alarm associated with a completion queue.
Definition: grpc_types.h:75
A thin wrapper around grpc_completion_queue (see src/core/lib/surface/completion_queue.h).
Definition: completion_queue.h:101
void Cancel()
Cancel a completion queue alarm.
Definition: alarm.h:75
~Alarm()
Destroy the given completion queue alarm, cancelling it in the process.
Definition: alarm.h:71