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(); }