public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { token.ThrowIfCancellationRequested(); CancellationTokenSource cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(token, cancellationToken); Task result = ParentStream.WriteAsync(buffer, offset, count, cancellationTokenSource.Token); WriteCallback(count); return(result); }
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { _token.ThrowIfCancellationRequested(); var linked = CancellationTokenSource.CreateLinkedTokenSource(_token, cancellationToken); var task = ParentStream.WriteAsync(buffer, offset, count, linked.Token); WriteCallback(count); return(task); }
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { token.ThrowIfCancellationRequested(); var linked = CancellationTokenSource.CreateLinkedTokenSource(token, cancellationToken); var task = default(Task); try { task = ParentStream.WriteAsync(buffer, offset, count, linked.Token); } catch (Exception e) { if (exceptionMapper != null) { exceptionMapper(e); } throw e; } WriteCallback(count); return(task); }