diff options
author | ncteisen <ncteisen@gmail.com> | 2018-07-13 11:22:08 -0700 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2018-07-13 11:22:08 -0700 |
commit | 1e6c0b46bca8a57d0c3725107d1b6508ebf1e1c3 (patch) | |
tree | 688c882c8f74b27cbee2ceeca5617edaa24358cb /src/core/ext/filters/client_channel/subchannel.cc | |
parent | 9ff83ea77ab5fecfd7b57781f16b5d951b70b7c1 (diff) |
Ensure subchannel channelz only created if enabled
Diffstat (limited to 'src/core/ext/filters/client_channel/subchannel.cc')
-rw-r--r-- | src/core/ext/filters/client_channel/subchannel.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc index 6c4f1869ea..0e349da3e2 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/ext/filters/client_channel/subchannel.cc @@ -135,10 +135,8 @@ struct grpc_subchannel { /** our alarm */ grpc_timer alarm; - /* the global uuid for this subchannel */ - // TODO(ncteisen): move this into SubchannelNode while implementing - // GetSubchannel. - intptr_t subchannel_uuid; + grpc_core::RefCountedPtr<grpc_core::channelz::SubchannelNode> + channelz_subchannel; }; struct grpc_subchannel_call { @@ -379,14 +377,21 @@ grpc_subchannel* grpc_subchannel_create(grpc_connector* connector, c->backoff.Init(backoff_options); gpr_mu_init(&c->mu); - // This is just a placeholder for now - c->subchannel_uuid = 42; + // This is just a placeholder channelz class for for now. + const grpc_arg* arg = + grpc_channel_args_find(c->args, GRPC_ARG_ENABLE_CHANNELZ); + bool channelz_enabled = grpc_channel_arg_get_bool(arg, false); + if (channelz_enabled) { + c->channelz_subchannel = + grpc_core::MakeRefCounted<grpc_core::channelz::SubchannelNode>(); + } return grpc_subchannel_index_register(key, c); } -intptr_t grpc_subchannel_get_uuid(grpc_subchannel* s) { - return s->subchannel_uuid; +grpc_core::channelz::SubchannelNode* grpc_subchannel_get_channelz_node( + grpc_subchannel* s) { + return s->channelz_subchannel.get(); } static void continue_connect_locked(grpc_subchannel* c) { |