diff options
author | 2018-10-09 11:19:49 -0700 | |
---|---|---|
committer | 2018-10-09 11:19:49 -0700 | |
commit | a74885d47806af16054648ee6ac886f014b19b1e (patch) | |
tree | 702c6693d28937243b1f9e251edaeb046dae886d /src/core/lib/channel/channelz_registry.cc | |
parent | 91d23ac8ea1994f37a3f7dc19f0d4cc26fc7513e (diff) | |
parent | 5de6e2533d7b717e3ee23dde94c3edef70649900 (diff) |
Merge pull request #16760 from ncteisen/channelz-server-sockets
Channelz Part 8: Get Server Sockets
Diffstat (limited to 'src/core/lib/channel/channelz_registry.cc')
-rw-r--r-- | src/core/lib/channel/channelz_registry.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/lib/channel/channelz_registry.cc b/src/core/lib/channel/channelz_registry.cc index 007ede2580..1b54b19be3 100644 --- a/src/core/lib/channel/channelz_registry.cc +++ b/src/core/lib/channel/channelz_registry.cc @@ -208,6 +208,21 @@ char* grpc_channelz_get_servers(intptr_t start_server_id) { return grpc_core::channelz::ChannelzRegistry::GetServers(start_server_id); } +char* grpc_channelz_get_server_sockets(intptr_t server_id, + intptr_t start_socket_id) { + grpc_core::channelz::BaseNode* base_node = + grpc_core::channelz::ChannelzRegistry::Get(server_id); + if (base_node == nullptr || + base_node->type() != grpc_core::channelz::BaseNode::EntityType::kServer) { + return nullptr; + } + // This cast is ok since we have just checked to make sure base_node is + // actually a server node + grpc_core::channelz::ServerNode* server_node = + static_cast<grpc_core::channelz::ServerNode*>(base_node); + return server_node->RenderServerSockets(start_socket_id); +} + char* grpc_channelz_get_channel(intptr_t channel_id) { grpc_core::channelz::BaseNode* channel_node = grpc_core::channelz::ChannelzRegistry::Get(channel_id); |