示例#1
0
        protected Task SendRstStreamAsync(int streamId)
        {
            var rstStreamFrame = new Http2Frame(Http2Limits.MinAllowedMaxFrameSize);

            rstStreamFrame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            return(SendAsync(rstStreamFrame.Raw));
        }
        protected Task SendRstStreamAsync(int streamId)
        {
            var rstStreamFrame = new Http2Frame();

            rstStreamFrame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            return(SendAsync(rstStreamFrame.Raw));
        }
示例#3
0
        protected Task SendInvalidRstStreamFrameAsync(int streamId, int length)
        {
            var frame = new Http2Frame(Http2Limits.MinAllowedMaxFrameSize);

            frame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            frame.PayloadLength = length;
            return(SendAsync(frame.Raw));
        }
        protected Task SendInvalidRstStreamFrameAsync(int streamId, int length)
        {
            var frame = new Http2Frame();

            frame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            frame.Length = length;
            return(SendAsync(frame.Raw));
        }
        public Task SendInvalidRstStreamFrameAsync(int streamId, int length)
        {
            var outputWriter = _pair.Application.Output;
            var frame        = new Http2Frame();

            frame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            frame.PayloadLength = length;
            WriteHeader(frame, outputWriter);
            return(SendAsync(new byte[length]));
        }
        /* https://tools.ietf.org/html/rfc7540#section-6.4
         +---------------------------------------------------------------+
         |                        Error Code (32)                        |
         +---------------------------------------------------------------+
         */
        public Task SendRstStreamAsync(int streamId)
        {
            var outputWriter   = _pair.Application.Output;
            var rstStreamFrame = new Http2Frame();

            rstStreamFrame.PrepareRstStream(streamId, Http2ErrorCode.CANCEL);
            var payload = new byte[rstStreamFrame.PayloadLength];

            BinaryPrimitives.WriteUInt32BigEndian(payload, (uint)Http2ErrorCode.CANCEL);

            WriteHeader(rstStreamFrame, outputWriter);
            return(SendAsync(payload));
        }