aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext
diff options
context:
space:
mode:
authorGravatar Yuchen Zeng <y-zeng@users.noreply.github.com>2017-09-07 12:59:41 -0700
committerGravatar GitHub <noreply@github.com>2017-09-07 12:59:41 -0700
commitb6ef6e9ff5701d15a352f38a450de2af49d19657 (patch)
tree183bb602a29faf8717845fe894281e5c1711af90 /src/core/ext
parentf54af4832e08f317a05de909e88fdb38ace92cb0 (diff)
parentb5dd3abad9b38cbd39917543b3991acd6ec368a8 (diff)
Merge pull request #12080 from y-zeng/connectivity
Reconnect channels automatically in C++ clients
Diffstat (limited to 'src/core/ext')
-rw-r--r--src/core/ext/filters/client_channel/channel_connectivity.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.c
index b83c95275f..0a9e90d12e 100644
--- a/src/core/ext/filters/client_channel/channel_connectivity.c
+++ b/src/core/ext/filters/client_channel/channel_connectivity.c
@@ -191,6 +191,12 @@ static void watcher_timer_init(grpc_exec_ctx *exec_ctx, void *arg,
gpr_free(wa);
}
+int grpc_channel_support_connectivity_watcher(grpc_channel *channel) {
+ grpc_channel_element *client_channel_elem =
+ grpc_channel_stack_last_element(grpc_channel_get_channel_stack(channel));
+ return client_channel_elem->filter != &grpc_client_channel_filter ? 0 : 1;
+}
+
void grpc_channel_watch_connectivity_state(
grpc_channel *channel, grpc_connectivity_state last_observed_state,
gpr_timespec deadline, grpc_completion_queue *cq, void *tag) {