aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-10-02 09:55:00 -0700
committerGravatar ncteisen <ncteisen@gmail.com>2018-10-02 09:55:00 -0700
commit3545d754d53448ce4ce17ac9605d4765094aa739 (patch)
tree1e55733262852b2683a91f8f7a471822ea796904 /src/core/lib/surface
parentfd2fe1d5c42e95dc7c9a0dc59c6233d70ae85ff4 (diff)
Channelz get server sockets support
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r--src/core/lib/surface/server.cc10
-rw-r--r--src/core/lib/surface/server.h3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc
index a35d60e275..da643f54ef 100644
--- a/src/core/lib/surface/server.cc
+++ b/src/core/lib/surface/server.cc
@@ -1213,7 +1213,8 @@ void grpc_server_setup_transport(grpc_server* s, grpc_transport* transport,
}
void grpc_server_populate_listen_sockets(
- grpc_server* s, grpc_core::ChildRefsList* listen_sockets) {
+ grpc_server* s, grpc_core::ChildRefsList* listen_sockets,
+ intptr_t start_idx) {
gpr_mu_lock(&s->mu_global);
channel_data* c = nullptr;
for (c = s->root_channel_data.next; c != &s->root_channel_data; c = c->next) {
@@ -1221,8 +1222,11 @@ void grpc_server_populate_listen_sockets(
grpc_channel_element* connected_channel_elem =
grpc_channel_stack_last_element(
grpc_channel_get_channel_stack(c->channel));
- listen_sockets->push_back(
- grpc_connected_channel_get_socket_uuid(connected_channel_elem));
+ intptr_t socket_uuid =
+ grpc_connected_channel_get_socket_uuid(connected_channel_elem);
+ if (socket_uuid >= start_idx) {
+ listen_sockets->push_back(socket_uuid);
+ }
}
}
gpr_mu_unlock(&s->mu_global);
diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h
index db47d8032b..b3fd45564e 100644
--- a/src/core/lib/surface/server.h
+++ b/src/core/lib/surface/server.h
@@ -48,7 +48,8 @@ void grpc_server_setup_transport(grpc_server* server, grpc_transport* transport,
const grpc_channel_args* args);
void grpc_server_populate_listen_sockets(
- grpc_server* server, grpc_core::ChildRefsList* listen_sockets);
+ grpc_server* server, grpc_core::ChildRefsList* listen_sockets,
+ intptr_t start_idx);
grpc_core::channelz::ServerNode* grpc_server_get_channelz_node(
grpc_server* server);