public async Task ConnectionShouldIgnorePriorityData(
            bool isServer, uint streamId,
            uint streamDependency, bool isExclusive, byte weight)
        {
            var inPipe   = new BufferedPipe(1024);
            var outPipe  = new BufferedPipe(1024);
            var http2Con = await ConnectionUtils.BuildEstablishedConnection(
                isServer, inPipe, outPipe, loggerProvider);

            var prioData = new PriorityData
            {
                StreamDependency            = streamDependency,
                StreamDependencyIsExclusive = isExclusive,
                Weight = weight,
            };
            await inPipe.WritePriority(streamId, prioData);

            // Send a ping afterwards
            // If we get a response the priority frame in between was ignored
            var pingData = new byte[8];

            for (var i = 0; i < 8; i++)
            {
                pingData[i] = (byte)i;
            }
            await inPipe.WritePing(pingData, false);

            await outPipe.ReadAndDiscardPong();
        }
        public async Task ConnectionShouldGoAwayOnPriorityStreamIdZero()
        {
            var inPipe   = new BufferedPipe(1024);
            var outPipe  = new BufferedPipe(1024);
            var http2Con = await ConnectionUtils.BuildEstablishedConnection(
                true, inPipe, outPipe, loggerProvider);

            var prioData = new PriorityData
            {
                StreamDependency            = 1,
                StreamDependencyIsExclusive = false,
                Weight = 0,
            };
            await inPipe.WritePriority(0, prioData);

            await outPipe.AssertGoAwayReception(ErrorCode.ProtocolError, 0u);

            await outPipe.AssertStreamEnd();
        }