aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2016-05-19 13:20:00 -0700
committerGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2016-05-19 13:20:00 -0700
commit1226387698e70ef3247fe35f1c5b964d6598ba97 (patch)
tree0e49723bf60b4d4d175e8e3058cd69377f32e1dd /include
parent505b13df845beaa97a81fa4d1d892a105521f433 (diff)
parent52237e3a961e3b4a025399ec7a0abe57a16331d6 (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.h10
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;