aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-10-03 15:00:04 -0700
committerGravatar ncteisen <ncteisen@gmail.com>2018-10-03 15:09:10 -0700
commit8362e7042d4c7d41c756d85b4e64d499ae4e52ed (patch)
tree66856dc51c723d07b9e5474982805695c09d723c /src/core/lib/surface
parent3545d754d53448ce4ce17ac9605d4765094aa739 (diff)
Undo adding new API to tranport
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r--src/core/lib/surface/server.cc31
-rw-r--r--src/core/lib/surface/server.h9
2 files changed, 24 insertions, 16 deletions
diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc
index da643f54ef..54f921b0c2 100644
--- a/src/core/lib/surface/server.cc
+++ b/src/core/lib/surface/server.cc
@@ -104,6 +104,7 @@ struct channel_data {
uint32_t registered_method_max_probes;
grpc_closure finish_destroy_channel_closure;
grpc_closure channel_connectivity_changed;
+ uint32_t socket_uuid;
};
typedef struct shutdown_tag {
@@ -1116,9 +1117,9 @@ void grpc_server_get_pollsets(grpc_server* server, grpc_pollset*** pollsets,
*pollsets = server->pollsets;
}
-void grpc_server_setup_transport(grpc_server* s, grpc_transport* transport,
- grpc_pollset* accepting_pollset,
- const grpc_channel_args* args) {
+void grpc_server_setup_transport_with_socket_uuid(
+ grpc_server* s, grpc_transport* transport, grpc_pollset* accepting_pollset,
+ const grpc_channel_args* args, intptr_t socket_uuid) {
size_t num_registered_methods;
size_t alloc;
registered_method* rm;
@@ -1138,6 +1139,7 @@ void grpc_server_setup_transport(grpc_server* s, grpc_transport* transport,
chand->server = s;
server_ref(s);
chand->channel = channel;
+ chand->socket_uuid = socket_uuid;
size_t cq_idx;
for (cq_idx = 0; cq_idx < s->cq_count; cq_idx++) {
@@ -1212,21 +1214,22 @@ void grpc_server_setup_transport(grpc_server* s, grpc_transport* transport,
grpc_transport_perform_op(transport, op);
}
-void grpc_server_populate_listen_sockets(
- grpc_server* s, grpc_core::ChildRefsList* listen_sockets,
+void grpc_server_setup_transport(grpc_server* s, grpc_transport* transport,
+ grpc_pollset* accepting_pollset,
+ const grpc_channel_args* args) {
+ grpc_server_setup_transport_with_socket_uuid(s, transport, accepting_pollset,
+ args, 0);
+}
+
+void grpc_server_populate_server_sockets(
+ grpc_server* s, grpc_core::ChildRefsList* server_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) {
- if (c->channel != nullptr) {
- grpc_channel_element* connected_channel_elem =
- grpc_channel_stack_last_element(
- grpc_channel_get_channel_stack(c->channel));
- intptr_t socket_uuid =
- grpc_connected_channel_get_socket_uuid(connected_channel_elem);
- if (socket_uuid >= start_idx) {
- listen_sockets->push_back(socket_uuid);
- }
+ intptr_t socket_uuid = c->socket_uuid;
+ if (socket_uuid >= start_idx) {
+ server_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 b3fd45564e..62d444e57e 100644
--- a/src/core/lib/surface/server.h
+++ b/src/core/lib/surface/server.h
@@ -47,8 +47,13 @@ void grpc_server_setup_transport(grpc_server* server, grpc_transport* transport,
grpc_pollset* accepting_pollset,
const grpc_channel_args* args);
-void grpc_server_populate_listen_sockets(
- grpc_server* server, grpc_core::ChildRefsList* listen_sockets,
+void grpc_server_setup_transport_with_socket_uuid(
+ grpc_server* server, grpc_transport* transport,
+ grpc_pollset* accepting_pollset, const grpc_channel_args* args,
+ intptr_t socket_uuid);
+
+void grpc_server_populate_server_sockets(
+ grpc_server* server, grpc_core::ChildRefsList* server_sockets,
intptr_t start_idx);
grpc_core::channelz::ServerNode* grpc_server_get_channelz_node(