public Task WriteWindowUpdateAsync(int streamId, int sizeIncrement) { lock (_writeLock) { _outgoingFrame.PrepareWindowUpdate(streamId, sizeIncrement); return(WriteFrameUnsynchronizedAsync()); } }
/* https://tools.ietf.org/html/rfc7540#section-6.9 +-+-------------------------------------------------------------+ |R| Window Size Increment (31) | +-+-------------------------------------------------------------+ */ public Task WriteWindowUpdateAsync(int streamId, int sizeIncrement) { lock (_writeLock) { if (_completed) { return(Task.CompletedTask); } _outgoingFrame.PrepareWindowUpdate(streamId, sizeIncrement); WriteHeaderUnsynchronized(); var buffer = _outputWriter.GetSpan(4); Bitshifter.WriteUInt31BigEndian(buffer, (uint)sizeIncrement); _outputWriter.Advance(4); return(TimeFlushUnsynchronizedAsync()); } }