public async Task Packet_Decryptor_Receives_Packets() { const int PacketsToSend = 5; var pipe = new Pipe(); var decryptor = new PacketEventReader(new XorPipelineDecryptor(pipe.Reader).Reader); int packetsReceived = 0; var readTask = decryptor.BeginRead(packet => packetsReceived += 1); for (int i = 0; i < PacketsToSend; i++) { await pipe.Writer.WriteAsync(Samples.UnencryptedC1Packet); await pipe.Writer.FlushAsync(); } pipe.Writer.Complete(); await readTask; Assert.AreEqual(packetsReceived, PacketsToSend); }
/// <summary>Initializes a new instance of the <see cref="DuplexConnection"/> class.</summary> public DuplexConnection(IDuplexPipe pipe, int?maxPacketSize = null) { this.duplexPipe = pipe; this.packetReader = new PacketEventReader(pipe.Input, maxPacketSize); }