|
|
@ -67,6 +67,7 @@ typedef struct { |
|
|
|
grpc_timer timer; |
|
|
|
grpc_timer timer; |
|
|
|
grpc_closure on_timeout; |
|
|
|
grpc_closure on_timeout; |
|
|
|
grpc_closure on_receive_settings; |
|
|
|
grpc_closure on_receive_settings; |
|
|
|
|
|
|
|
grpc_pollset_set* interested_parties; |
|
|
|
} server_connection_state; |
|
|
|
} server_connection_state; |
|
|
|
|
|
|
|
|
|
|
|
static void server_connection_state_unref( |
|
|
|
static void server_connection_state_unref( |
|
|
@ -76,6 +77,9 @@ static void server_connection_state_unref( |
|
|
|
GRPC_CHTTP2_UNREF_TRANSPORT(connection_state->transport, |
|
|
|
GRPC_CHTTP2_UNREF_TRANSPORT(connection_state->transport, |
|
|
|
"receive settings timeout"); |
|
|
|
"receive settings timeout"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
grpc_pollset_set_del_pollset(connection_state->interested_parties, |
|
|
|
|
|
|
|
connection_state->accepting_pollset); |
|
|
|
|
|
|
|
grpc_pollset_set_destroy(connection_state->interested_parties); |
|
|
|
gpr_free(connection_state); |
|
|
|
gpr_free(connection_state); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -189,7 +193,11 @@ static void on_accept(void* arg, grpc_endpoint* tcp, |
|
|
|
connection_state->accepting_pollset = accepting_pollset; |
|
|
|
connection_state->accepting_pollset = accepting_pollset; |
|
|
|
connection_state->acceptor = acceptor; |
|
|
|
connection_state->acceptor = acceptor; |
|
|
|
connection_state->handshake_mgr = handshake_mgr; |
|
|
|
connection_state->handshake_mgr = handshake_mgr; |
|
|
|
|
|
|
|
connection_state->interested_parties = grpc_pollset_set_create(); |
|
|
|
|
|
|
|
grpc_pollset_set_add_pollset(connection_state->interested_parties, |
|
|
|
|
|
|
|
connection_state->accepting_pollset); |
|
|
|
grpc_handshakers_add(HANDSHAKER_SERVER, state->args, |
|
|
|
grpc_handshakers_add(HANDSHAKER_SERVER, state->args, |
|
|
|
|
|
|
|
connection_state->interested_parties, |
|
|
|
connection_state->handshake_mgr); |
|
|
|
connection_state->handshake_mgr); |
|
|
|
const grpc_arg* timeout_arg = |
|
|
|
const grpc_arg* timeout_arg = |
|
|
|
grpc_channel_args_find(state->args, GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS); |
|
|
|
grpc_channel_args_find(state->args, GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS); |
|
|
|