コード例 #1
0
        public void IncrementWindowSize(IHttp2Stream stream, int delta)
        {
            Debug.Assert(_ctx is object && _ctx.Executor.InEventLoop);
            IFlowState state = GetState(stream);

            // Just add the delta to the stream-specific initial window size so that the next time the window
            // expands it will grow to the new initial size.
            state.IncrementInitialStreamWindow(delta);
            _ = state.WriteWindowUpdateIfNeeded();
        }
コード例 #2
0
            public bool Visit(IHttp2Stream stream)
            {
                try
                {
                    // Increment flow control window first so state will be consistent if overflow is detected.
                    IFlowState state = _controller.GetState(stream);
                    state.IncrementFlowControlWindows(_delta);
                    state.IncrementInitialStreamWindow(_delta);
                }
                catch (StreamException e)
                {
                    if (_compositeException is null)
                    {
                        _compositeException = new CompositeStreamException(e.Error, 4);
                    }

                    _compositeException.Add(e);
                }

                return(true);
            }