| 973 | } |
| 974 | |
| 975 | void |
| 976 | Http2Stream::send_body(bool /* call_update ATS_UNUSED */) |
| 977 | { |
| 978 | Http2ConnectionState &connection_state = this->get_connection_state(); |
| 979 | _timeout.update_inactivity(); |
| 980 | |
| 981 | reentrancy_count++; |
| 982 | |
| 983 | SCOPED_MUTEX_LOCK(lock, _proxy_ssn->mutex, this_ethread()); |
| 984 | if (Http2::stream_priority_enabled) { |
| 985 | connection_state.schedule_stream_to_send_priority_frames(this); |
| 986 | // signal_write_event() will be called from `Http2ConnectionState::send_data_frames_depends_on_priority()` |
| 987 | // when write_vio is consumed |
| 988 | } else { |
| 989 | connection_state.send_data_frames(this); |
| 990 | // XXX The call to signal_write_event can destroy/free the Http2Stream. |
| 991 | // Don't modify the Http2Stream after calling this method. |
| 992 | } |
| 993 | |
| 994 | reentrancy_count--; |
| 995 | terminate_if_possible(); |
| 996 | } |
| 997 | |
| 998 | void |
| 999 | Http2Stream::reenable_write() |
no test coverage detected