|
|
|
@ -45,12 +45,22 @@ |
|
|
|
|
|
|
|
|
|
namespace grpc { |
|
|
|
|
|
|
|
|
|
class DefaultGlobalCallbacks GRPC_FINAL : public ClientContext::GlobalCallbacks { |
|
|
|
|
public: |
|
|
|
|
void DefaultConstructor(ClientContext* context) GRPC_OVERRIDE {} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static DefaultGlobalCallbacks g_default_callbacks; |
|
|
|
|
static ClientContext::GlobalCallbacks* g_callbacks = &g_default_callbacks; |
|
|
|
|
|
|
|
|
|
ClientContext::ClientContext() |
|
|
|
|
: initial_metadata_received_(false), |
|
|
|
|
call_(nullptr), |
|
|
|
|
call_canceled_(false), |
|
|
|
|
deadline_(gpr_inf_future(GPR_CLOCK_REALTIME)), |
|
|
|
|
propagate_from_call_(nullptr) {} |
|
|
|
|
propagate_from_call_(nullptr) { |
|
|
|
|
g_callbacks->DefaultConstructor(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ClientContext::~ClientContext() { |
|
|
|
|
if (call_) { |
|
|
|
@ -124,4 +134,11 @@ grpc::string ClientContext::peer() const { |
|
|
|
|
return peer; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ClientContext::SetGlobalCallbacks(GlobalCallbacks* callbacks) { |
|
|
|
|
GPR_ASSERT(g_callbacks == &g_default_callbacks); |
|
|
|
|
GPR_ASSERT(callbacks != NULL); |
|
|
|
|
GPR_ASSERT(callbacks != &g_default_callbacks); |
|
|
|
|
g_callbacks = callbacks; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} // namespace grpc
|
|
|
|
|