* Add Task.Delay to give more time for reset frame
* Apply James' solution
---------
Co-authored-by: Ahmet Ibrahim Aksoy (from Dev Box) <aaksoy@microsoft.com>
// Server sends RST_STREAM.
await connection.WriteFrameAsync(new RstStreamFrame(FrameFlags.EndStream, 0, streamId));
- await Assert.ThrowsAsync<IOException>(() => requestStream.WriteAsync(new byte[50]).AsTask());
+ await Assert.ThrowsAsync<IOException>(async () =>
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ await requestStream.WriteAsync(new byte[50]);
+
+ // WriteAsync succeeded because handler hasn't processed RST_STREAM yet.
+ // Small wait before trying again.
+ await Task.Delay(50);
+ }
+ });
}
}