public void RemoveOutputStream(QueueStream stream) { lock (_outputStreams) { _outputStreams.Remove(stream); } }
public Task CopyToAsync(Stream stream) { var result = new QueueStream(stream, _logger) { OnFinished = OnFinished }; lock (_outputStreams) { _outputStreams.Add(result); } result.Start(_cancellationToken); return result.TaskCompletion.Task; }
public Task CopyToAsync(Stream stream) { var result = new QueueStream(stream, _logger) { OnFinished = OnFinished }; lock (_outputStreams) { _outputStreams.Add(result); } result.Start(_cancellationToken); return(result.TaskCompletion.Task); }
private void OnFinished(QueueStream queueStream) { RemoveOutputStream(queueStream); }