diff options
author | Vijay Pai <vpai@google.com> | 2016-02-11 03:30:10 -0800 |
---|---|---|
committer | Vijay Pai <vpai@google.com> | 2016-02-11 03:30:10 -0800 |
commit | 810a13e2d3fef85c706ef5c80dd12bb864a2ab6b (patch) | |
tree | 2cd17595f006802478d3c66d2e5f4be0c3eb1b72 /src/cpp/common/alarm.cc | |
parent | 29e1d95a21daca20f3e886cde037e61d7500327e (diff) |
Remove a small allocation, at the cost of a little uglier header file.
This commit may or may not be a great tradeoff.
Diffstat (limited to 'src/cpp/common/alarm.cc')
-rw-r--r-- | src/cpp/common/alarm.cc | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/cpp/common/alarm.cc b/src/cpp/common/alarm.cc index aca15dc5eb..a289688768 100644 --- a/src/cpp/common/alarm.cc +++ b/src/cpp/common/alarm.cc @@ -32,29 +32,15 @@ #include <grpc++/alarm.h> #include <grpc++/completion_queue.h> -#include <grpc++/impl/codegen/completion_queue_tag.h> #include <grpc++/impl/grpc_library.h> #include <grpc/grpc.h> namespace grpc { -class AlarmEntry : public CompletionQueueTag { - public: - AlarmEntry(void* tag) : tag_(tag) {} - bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE { - *tag = tag_; - delete this; - return true; - } - - private: - void* tag_; -}; - static internal::GrpcLibraryInitializer g_gli_initializer; Alarm::Alarm(CompletionQueue* cq, gpr_timespec deadline, void* tag) - : alarm_(grpc_alarm_create(cq->cq(), deadline, - static_cast<void*>(new AlarmEntry(tag)))) { + : tag_(tag), + alarm_(grpc_alarm_create(cq->cq(), deadline, static_cast<void*>(&tag_))) { g_gli_initializer.summon(); } |