Example #1
0
        public override async Task <int> ReadAsync(ArraySegment <byte> buffer, CancellationToken cancellationToken = new CancellationToken())
        {
            int len = await WrappedSocket.ReadAsync(buffer, cancellationToken);

            _data.BytesRead += len;
            return(len);
        }
Example #2
0
        private async Task ReadBytesAsync(ArraySegment <byte> result, CancellationToken cancellationToken = default(CancellationToken))
        {
            int count = result.Count;

            do
            {
                int num = await WrappedSocket.ReadAsync(result, cancellationToken).ConfigureAwait(false);

                if (num != 0)
                {
                    count -= num;
                }
                else
                {
                    throw new EndOfStreamException("Unexpected end of stream while trying to read crypto packet!");
                }
            } while (count > 0);
        }