Re: Maintenance frame contention vs CONTINUATION

WINDOW_UPDATE frames are the tricky part. Consider a multithreaded server with a scheduling algorithm arbitrating the network output stream. If the scheduler sends an incomplete header block, then the usually asynchronous processes of sending WINDOW_UPDATEs and responding to PINGs need to wait for it to finish.

The solution is to either schedule the entire block all at once, which perhaps imposes a size limit, or to be prepared for the priority inversion.

The upshot is that large header blocks will be handled poorly by some implementations (which isn�t really news), and protocols with large header blocks going one way and data going the other way may tend to self-throttle (which sounds like a minor corner case).


On 2014�04�22, at 7:49 AM, Roberto Peon <grmocg@gmail.com> wrote:

> And by timely delivery, we all mean that the *execution* of priority changes be timely :)
> That could happen as a result of a new stream appearing at a higher priority than a previously existing stream, and thus doesn't require a priority frame.

Received on Tuesday, 22 April 2014 03:18:11 UTC