-
Notifications
You must be signed in to change notification settings - Fork 851
Closed
Description
currently, at the end of Http2ConnectionState::send_goaway_frame()
http2_write_goaway(goaway, frame.write());
frame.finalize(HTTP2_GOAWAY_LEN);
// xmit event
SCOPED_MUTEX_LOCK(lock, this->ua_session->mutex, this_ethread());
this->ua_session->handleEvent(HTTP2_SESSION_EVENT_XMIT, &frame);
handleEvent(HTTP2_SESSION_EVENT_FINI, NULL);it calls handleEvent(HTTP2_SESSION_EVENT_FINI, NULL), which calls cleanup_streams() and release_stream(), then ua_session->destroy(), and then closes the client_vc. so GOAWAY frame cannot be send.
From the code and local test result, the client can never get a GOAWAY frame.