public override async Task <int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { token.ThrowIfCancellationRequested(); CancellationTokenSource cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(token, cancellationToken); int num = await ParentStream.ReadAsync(buffer, offset, count, cancellationTokenSource.Token); ReadCallback(num); return(num); }
public override async Task <int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { _token.ThrowIfCancellationRequested(); var linked = CancellationTokenSource.CreateLinkedTokenSource(_token, cancellationToken); var readCount = await ParentStream.ReadAsync(buffer, offset, count, linked.Token); ReadCallback(readCount); return(readCount); }
public override async Task <int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { token.ThrowIfCancellationRequested(); var linked = CancellationTokenSource.CreateLinkedTokenSource(token, cancellationToken); int readCount; try { readCount = await ParentStream.ReadAsync(buffer, offset, count, linked.Token); } catch (Exception e) { if (exceptionMapper != null) { exceptionMapper(e); } throw e; } ReadCallback(readCount); return(readCount); }