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

Reply via email to