diff options
author | ncteisen <ncteisen@gmail.com> | 2018-07-18 10:30:03 -0700 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2018-07-18 18:26:40 -0700 |
commit | af50d795de13009ad0dd4f1419e550f9391d5c71 (patch) | |
tree | 5c7989b24f23fe58195f925b54010ecb8ac095e5 /src/core/ext/filters/client_channel/lb_policy/subchannel_list.h | |
parent | af57df5e2a20d1b2628e12a1b50df9856ae21c3a (diff) |
Refactor some shared code to SubchannelList
Diffstat (limited to 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h')
-rw-r--r-- | src/core/ext/filters/client_channel/lb_policy/subchannel_list.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h index 7e2046bcdc..018ac3bb86 100644 --- a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +++ b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h @@ -189,6 +189,19 @@ class SubchannelList // Returns true if the subchannel list is shutting down. bool shutting_down() const { return shutting_down_; } + // Populates refs_list with the uuids of this SubchannelLists's subchannels. + void PopulateChildRefsList(ChildRefsList* refs_list) { + for (size_t i = 0; i < subchannels_.size(); ++i) { + if (subchannels_[i].subchannel() != nullptr) { + grpc_core::channelz::SubchannelNode* subchannel_node = + grpc_subchannel_get_channelz_node(subchannels_[i].subchannel()); + if (subchannel_node != nullptr) { + refs_list->push_back(subchannel_node->subchannel_uuid()); + } + } + } + } + // Accessors. LoadBalancingPolicy* policy() const { return policy_; } TraceFlag* tracer() const { return tracer_; } |