On Mon, Nov 05, 2012 at 06:57:48AM +0100, Andreas Krey wrote:
With no per-stream window a single stalled stream would block the circuit forever.
Wait, what?
Can you define 'stalled' here? I think you are misunderstanding the current (and proposed) design.
With no per-stream window, the circuit will round-robin between the streams that want to send a cell, just as it does now. The only difference in the proposed change is that it would stop ignoring streams who have sent their whole stream window but not yet heard a stream-level sendme back. In either case it would continue obeying the circuit sendme windows.
When a stream announces window to the other side I expect it to be capable to accept that data somewhere, so even if the stream windows currently overbook the circuit window that data should drain into the local buffers and let the circuit window reopen.
It does.
--Roger