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);
            }
Ejemplo n.º 3
0
            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);
            }