From 01ffaf8bac76359058c0f040a2c68efd0b0ee59c Mon Sep 17 00:00:00 2001 From: Yunjia Wang Date: Wed, 19 Jun 2019 16:34:40 -0700 Subject: [PATCH] Add GRPC Abstract Macro --- src/core/lib/iomgr/executor/mpmcqueue.h | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/core/lib/iomgr/executor/mpmcqueue.h b/src/core/lib/iomgr/executor/mpmcqueue.h index 33240eaf6f6..c710600fddf 100644 --- a/src/core/lib/iomgr/executor/mpmcqueue.h +++ b/src/core/lib/iomgr/executor/mpmcqueue.h @@ -24,8 +24,9 @@ #include #include -#include "src/core/lib/debug/stats.h" +#include "src/core/lib/gprpp/abstract.h" #include "src/core/lib/gprpp/atomic.h" +#include "src/core/lib/debug/stats.h" #include "src/core/lib/gprpp/sync.h" namespace grpc_core { @@ -39,14 +40,14 @@ class MPMCQueueInterface { // Put elem into queue immediately at the end of queue. // This might cause to block on full queue depending on implementation. - virtual void Put(void* elem) = 0; + virtual void Put(void* elem) GRPC_ABSTRACT; // Remove the oldest element from the queue and return it. // This might cause to block on empty queue depending on implementation. - virtual void* Get() = 0; + virtual void* Get() GRPC_ABSTRACT; // Return number of elements in the queue currently - virtual int count() const = 0; + virtual int count() const GRPC_ABSTRACT; }; class MPMCQueue : public MPMCQueueInterface { @@ -72,14 +73,7 @@ class MPMCQueue : public MPMCQueueInterface { // quickly. int count() const { return count_.Load(MemoryOrder::RELAXED); } - void* operator new(size_t n) { - void* p = gpr_malloc(n); - return p; - } - - void operator delete(void* p) { - gpr_free(p); - } + GRPC_ABSTRACT_BASE_CLASS private: void* PopFront();