diff options
author | 2016-05-19 13:20:00 -0700 | |
---|---|---|
committer | 2016-05-19 13:20:00 -0700 | |
commit | 1226387698e70ef3247fe35f1c5b964d6598ba97 (patch) | |
tree | 0e49723bf60b4d4d175e8e3058cd69377f32e1dd /include | |
parent | 505b13df845beaa97a81fa4d1d892a105521f433 (diff) | |
parent | 52237e3a961e3b4a025399ec7a0abe57a16331d6 (diff) |
Merge pull request #6585 from ctiller/connect_first
Make qps workers connect before even warmup stage begins
Diffstat (limited to 'include')
-rw-r--r-- | include/grpc++/impl/codegen/channel_interface.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/grpc++/impl/codegen/channel_interface.h b/include/grpc++/impl/codegen/channel_interface.h index 6fcd5c315c..cf78438117 100644 --- a/include/grpc++/impl/codegen/channel_interface.h +++ b/include/grpc++/impl/codegen/channel_interface.h @@ -85,6 +85,16 @@ class ChannelInterface { return WaitForStateChangeImpl(last_observed, deadline_tp.raw_time()); } + /// Wait for this channel to be connected + template <typename T> + bool WaitForConnected(T deadline) { + grpc_connectivity_state state; + while ((state = GetState(true)) != GRPC_CHANNEL_READY) { + if (!WaitForStateChange(state, deadline)) return false; + } + return true; + } + private: template <class R> friend class ::grpc::ClientReader; |