|
|
|
@ -411,6 +411,14 @@ grpc_core::channelz::SubchannelNode* grpc_subchannel_get_channelz_node( |
|
|
|
|
return subchannel->channelz_subchannel.get(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
intptr_t grpc_subchannel_get_child_socket_uuid(grpc_subchannel* subchannel) { |
|
|
|
|
if (subchannel->connected_subchannel != nullptr) { |
|
|
|
|
return subchannel->connected_subchannel->socket_uuid(); |
|
|
|
|
} else { |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void continue_connect_locked(grpc_subchannel* c) { |
|
|
|
|
grpc_connect_in_args args; |
|
|
|
|
args.interested_parties = c->pollset_set; |
|
|
|
@ -621,6 +629,7 @@ static bool publish_transport_locked(grpc_subchannel* c) { |
|
|
|
|
GRPC_ERROR_UNREF(error); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
intptr_t socket_uuid = c->connecting_result.socket_uuid; |
|
|
|
|
memset(&c->connecting_result, 0, sizeof(c->connecting_result)); |
|
|
|
|
|
|
|
|
|
/* initialize state watcher */ |
|
|
|
@ -641,7 +650,7 @@ static bool publish_transport_locked(grpc_subchannel* c) { |
|
|
|
|
|
|
|
|
|
/* publish */ |
|
|
|
|
c->connected_subchannel.reset(grpc_core::New<grpc_core::ConnectedSubchannel>( |
|
|
|
|
stk, c->channelz_subchannel.get())); |
|
|
|
|
stk, c->channelz_subchannel.get(), socket_uuid)); |
|
|
|
|
gpr_log(GPR_INFO, "New connected subchannel at %p for subchannel %p", |
|
|
|
|
c->connected_subchannel.get(), c); |
|
|
|
|
|
|
|
|
@ -811,10 +820,11 @@ namespace grpc_core { |
|
|
|
|
|
|
|
|
|
ConnectedSubchannel::ConnectedSubchannel( |
|
|
|
|
grpc_channel_stack* channel_stack, |
|
|
|
|
channelz::SubchannelNode* channelz_subchannel) |
|
|
|
|
channelz::SubchannelNode* channelz_subchannel, intptr_t socket_uuid) |
|
|
|
|
: RefCountedWithTracing<ConnectedSubchannel>(&grpc_trace_stream_refcount), |
|
|
|
|
channel_stack_(channel_stack), |
|
|
|
|
channelz_subchannel_(channelz_subchannel) {} |
|
|
|
|
channelz_subchannel_(channelz_subchannel), |
|
|
|
|
socket_uuid_(socket_uuid) {} |
|
|
|
|
|
|
|
|
|
ConnectedSubchannel::~ConnectedSubchannel() { |
|
|
|
|
GRPC_CHANNEL_STACK_UNREF(channel_stack_, "connected_subchannel_dtor"); |
|
|
|
|