Пример #1
0
 public Task WriteWindowUpdateAsync(int streamId, int sizeIncrement)
 {
     lock (_writeLock)
     {
         _outgoingFrame.PrepareWindowUpdate(streamId, sizeIncrement);
         return(WriteFrameUnsynchronizedAsync());
     }
 }
Пример #2
0
        /* 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());
            }
        }