Merge pull request #5947 from marceloduplicati/feature/remove-timeout-at-manager-level
Removing TimeoutObservingStream from backend manager
This commit is contained in:
@@ -123,16 +123,14 @@ partial class BackendManager
|
||||
{
|
||||
// extended to use stacked streams
|
||||
using (var fs = System.IO.File.OpenWrite(dlTarget))
|
||||
using (var act = new StreamUtil.TimeoutObservingStream(fs) { WriteTimeout = backend is ITimeoutExemptBackend ? Timeout.Infinite : Context.Options.ReadWriteTimeout })
|
||||
using (var hasher = HashFactory.CreateHasher(Context.Options.FileHashAlgorithm))
|
||||
using (var hs = new HashCalculatingStream(act, hasher))
|
||||
using (var hs = new HashCalculatingStream(fs, hasher))
|
||||
using (var ss = new ShaderStream(hs, true))
|
||||
using (var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(cancelToken, act.TimeoutToken))
|
||||
{
|
||||
using (var ts = new ThrottledStream(ss, 0, Context.Options.MaxDownloadPrSecond))
|
||||
using (var pgs = new ProgressReportingStream(ts, pg => Context.HandleProgress(ts, pg, RemoteFilename)))
|
||||
{
|
||||
await streamingBackend.GetAsync(RemoteFilename, pgs, linkedToken.Token).ConfigureAwait(false);
|
||||
await streamingBackend.GetAsync(RemoteFilename, pgs, cancelToken).ConfigureAwait(false);
|
||||
}
|
||||
ss.Flush();
|
||||
retDownloadSize = ss.TotalBytesWritten;
|
||||
|
||||
@@ -268,12 +268,10 @@ partial class BackendManager
|
||||
|
||||
if (backend is IStreamingBackend streamingBackend && !Context.Options.DisableStreamingTransfers)
|
||||
{
|
||||
using (var fs = System.IO.File.OpenRead(LocalFilename))
|
||||
using (var act = new StreamUtil.TimeoutObservingStream(fs) { ReadTimeout = backend is ITimeoutExemptBackend ? Timeout.Infinite : Context.Options.ReadWriteTimeout })
|
||||
using (var ts = new ThrottledStream(act, Context.Options.MaxUploadPrSecond, 0))
|
||||
using (var pgs = new ProgressReportingStream(ts, pg => Context.HandleProgress(ts, pg, RemoteFilename)))
|
||||
using (var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(cancelToken, act.TimeoutToken))
|
||||
await streamingBackend.PutAsync(RemoteFilename, pgs, linkedToken.Token).ConfigureAwait(false);
|
||||
using var fs = System.IO.File.OpenRead(LocalFilename);
|
||||
using var ts = new ThrottledStream(fs, Context.Options.MaxUploadPrSecond, 0);
|
||||
using var pgs = new ProgressReportingStream(ts,pg => Context.HandleProgress(ts, pg, RemoteFilename));
|
||||
await streamingBackend.PutAsync(RemoteFilename, pgs, cancelToken).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
await backend.PutAsync(RemoteFilename, LocalFilename, cancelToken).ConfigureAwait(false);
|
||||
|
||||
Reference in New Issue
Block a user