public void ReadAndWriteMultipleFragmentsThreaded(int maxReadLength, int maxReserveLength) { this.reader = new TcpReader(this.readerTcpClient.Client, maxReadLength); this.writer = new TcpWriter(this.writerTcpClient.Client, maxReserveLength); this.writerTcpClient.Client.SendBufferSize = 1; var xdrReader = new XdrReader(this.reader); var xdrWriter = new XdrWriter(this.writer); byte[] value = TestXdr.GenerateByteTestData(17); var task = Task.Run( () => { NetworkReadResult readResult = this.reader.BeginReading(); Assert.That(readResult.SocketError, Is.EqualTo(SocketError.Success)); Assert.That(xdrReader.ReadOpaque(), Is.EqualTo(value)); Assert.That(xdrReader.ReadInt(), Is.EqualTo(42)); this.reader.EndReading(); }); this.writer.BeginWriting(); xdrWriter.WriteVariableLengthOpaque(value); xdrWriter.Write(42); this.writer.EndWriting(null); task.Wait(); }
public void ReserveMultipleFragmentsOpaque(int maxReadLength, int maxReserveLength) { var stubNetwork = new StubNetwork(maxReadLength, maxReserveLength); var reader = new XdrReader(stubNetwork); var writer = new XdrWriter(stubNetwork); byte[] value = GenerateByteTestData(21); writer.WriteVariableLengthOpaque(value); writer.Write(42); Assert.That(stubNetwork.WriteIndex, Is.EqualTo(32)); Assert.That(reader.ReadOpaque(), Is.EqualTo(value)); Assert.That(reader.ReadInt(), Is.EqualTo(42)); }