示例#1
0
 private void InitUpgradeToHttp2()
 {
     hpackEncoder = new Http2.Hpack.Encoder(new Http2.Hpack.Encoder.Options {
         DynamicTableSize = 0,
         HuffmanStrategy  = Http2.Hpack.HuffmanStrategy.Never,
     });
     hpackDecoder   = new Http2.Hpack.Decoder();
     _streamHandler = new StreamHandler(this);
     _streamHandler.StartSendThread();
     _HttpUpgraded = true;
 }
示例#2
0
        public async Task NewStreamsAfterGoAwayShouldBeRejected()
        {
            var inPipe  = new BufferedPipe(1024);
            var outPipe = new BufferedPipe(1024);

            var res = await ServerStreamTests.StreamCreator.CreateConnectionAndStream(
                StreamState.Open, loggerProvider, inPipe, outPipe);

            // Start the GoAway process
            await res.conn.GoAwayAsync(ErrorCode.NoError, false);

            // Expect the GoAway message
            await outPipe.AssertGoAwayReception(ErrorCode.NoError, 1u);

            // Try to establish a new stream
            var hEncoder = new Http2.Hpack.Encoder();
            await inPipe.WriteHeaders(hEncoder, 3, true, TestHeaders.DefaultGetHeaders);

            // Expect a stream rejection
            await outPipe.AssertResetStreamReception(3u, ErrorCode.RefusedStream);
        }