コード例 #1
0
 /// <summary>
 ///     Reset decoder state so that we can decode a new message
 /// </summary>
 public void Clear()
 {
     _message        = null;
     _isHeaderParsed = false;
     _headerParser.Reset();
     _frameContentBytesLeft = 0;
 }
コード例 #2
0
ファイル: HttpObjectDecoder.cs プロジェクト: wxlonstar/Fenix
        void ResetNow()
        {
            IHttpMessage msg = _message;

            _message       = null;
            _name          = null;
            _value         = null;
            _contentLength = long.MinValue;
            _lineParser.Reset();
            _headerParser.Reset();
            _trailer = null;
            if (!IsDecodingRequest())
            {
                if (msg is IHttpResponse res && IsSwitchingToNonHttp1Protocol(res))
                {
                    _currentState = State.Upgraded;
                    return;
                }
            }

            _             = Interlocked.Exchange(ref _resetRequested, SharedConstants.False);
            _currentState = State.SkipControlChars;
        }