maskit commented on PR #11143: URL: https://github.com/apache/trafficserver/pull/11143#issuecomment-1984178722
> This patch also fixes the HTTP/2 write_time_threshold configuration so it consistently wakes up ATS to transmit the frames held up behidn write_buffer_threshold. If the write_buffer_threshold is not met, then I noticed ATS never woke up to send the accumulated frames until a xmit with a flush was sent at the end of the transaction. This ensures that the frames are transmitted per the write_time_threshold by scheduling an event for the retransmission. Is it for the case that there is long pauses during data transfer but the stream is not tunneling? I'm not keen on adding the new event for retransmission, and wondering if we can use the flush flag instead. Specifically: - Add "push" flag to Http2DataFrame to indicate that the frame should not be buffered (like TCP PUSH flag) - Set push flag on if `_reader->is_read_avail_more_than(0)` gets false in `write_to_buffer()` - Set `flush` flag on if the push flag is on The current code for the retransmission event seems to cause a crash, if the session is destroyed before the event gets processed, although the chance is low. The scheduled event probably needs to be canceled when `flush()` is called and when the session closes, at a minimum. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@trafficserver.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org