Add a destructor callback as well

pull/4441/head
Bogdan Drutu 9 years ago
parent 38d2ad6e96
commit 42ab3fa5fa
  1. 3
      include/grpc++/client_context.h
  2. 2
      src/cpp/client/client_context.cc

@ -283,10 +283,11 @@ class ClientContext {
/// Global Callbacks
///
/// Can be set exactly once per application to install hooks whenever
/// a client context is constructed.
/// a client context is constructed and destructed.
class GlobalCallbacks {
public:
virtual void DefaultConstructor(ClientContext* context) = 0;
virtual void Destructor(ClientContext* context) = 0;
};
static void SetGlobalCallbacks(GlobalCallbacks* callbacks);

@ -48,6 +48,7 @@ namespace grpc {
class DefaultGlobalCallbacks GRPC_FINAL : public ClientContext::GlobalCallbacks {
public:
void DefaultConstructor(ClientContext* context) GRPC_OVERRIDE {}
void Destructor(ClientContext* context) GRPC_OVERRIDE {}
};
static DefaultGlobalCallbacks g_default_callbacks;
@ -66,6 +67,7 @@ ClientContext::~ClientContext() {
if (call_) {
grpc_call_destroy(call_);
}
g_callbacks->Destructor(this);
}
std::unique_ptr<ClientContext> ClientContext::FromServerContext(

Loading…
Cancel
Save