System.Net.Test.Common.VirtualNetworkStream.Read C# (CSharp) Method

Read() public method

public Read ( byte buffer, int offset, int count ) : int
buffer byte
offset int
count int
return int
        public override int Read(byte[] buffer, int offset, int count)
        {
            lock (_readStreamLock)
            {
                if (_readStream == null || (_readStream.Position >= _readStream.Length))
                {
                    byte[] innerBuffer;

                    _network.ReadFrame(_isServer, out innerBuffer);
                    _readStream = new MemoryStream(innerBuffer);
                }

                return _readStream.Read(buffer, offset, count);
            }
        }

Usage Example

Beispiel #1
0
        public void VirtualNetworkStream_ReadMoreThanWrite_Ok()
        {
            var network = new VirtualNetwork();

            using (var client = new VirtualNetworkStream(network, isServer: false))
                using (var server = new VirtualNetworkStream(network, isServer: true))
                {
                    var writeFrame = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
                    int frame1Len  = writeFrame.Length / 2;

                    client.Write(writeFrame, 0, frame1Len);
                    client.Write(writeFrame, frame1Len, writeFrame.Length - frame1Len);

                    int expectedReceivedBytes = writeFrame.Length;
                    var readFrame             = new byte[expectedReceivedBytes];

                    int bytesRead = 0;

                    do
                    {
                        bytesRead += server.Read(readFrame, bytesRead, expectedReceivedBytes - bytesRead);
                    }while (bytesRead < expectedReceivedBytes);

                    Assert.Equal(writeFrame, readFrame);
                }
        }
All Usage Examples Of System.Net.Test.Common.VirtualNetworkStream::Read