Relativity.Transfer.TransferJobBase
namespace Relativity.Transfer
{
public abstract class TransferJobBase : ITransferJob, IDisposable
{
public int ChangedMinDataRateMbps { get; }
public int ChangedTargetDataRateMbps { get; }
public ClientConfiguration Configuration { get; }
public virtual bool IsDataRateChangeSupported { get; }
public ITransferJobService JobService { get; }
public ITransferRequest Request { get; set; }
public TimeSpan RetryWaitPeriod { get; }
public TransferJobStatus Status { get; set; }
protected ITransferLog Log { get; }
protected IRelativityServiceFactory ServiceFactory { get; }
protected IFileSystemService FileSystemService { get; }
protected TransferJobBase(ITransferLog log, ITransferRequest request, ITransferJobService jobService, ClientConfiguration configuration, IRelativityServiceFactory serviceFactory);
protected TransferJobBase(IFileSystemService fileSystemService, ITransferLog log, ITransferRequest request, ITransferJobService jobService, ClientConfiguration configuration, IRelativityServiceFactory serviceFactory);
public void AddPath(TransferPath path);
public void AddPath(TransferPath path, CancellationToken token);
public void AddPaths(IEnumerable<TransferPath> paths);
public void AddPaths(IEnumerable<TransferPath> paths, CancellationToken token);
public Task AddPathsAsync(SerializedBatch batch);
public Task AddPathsAsync(SerializedBatch batch, CancellationToken token);
public Task AddPathsAsync(IEnumerable<TransferPath> paths);
public Task AddPathsAsync(IEnumerable<TransferPath> paths, CancellationToken token);
public int ChangeDataRate(int minRateMbps, int targetRateMbps);
public int ChangeDataRate(int minRateMbps, int targetRateMbps, CancellationToken token);
public Task<int> ChangeDataRateAsync(int minRateMbps, int targetRateMbps);
public Task<int> ChangeDataRateAsync(int minRateMbps, int targetRateMbps, CancellationToken token);
public Task<ITransferResult> CompleteAsync();
public Task<ITransferResult> CompleteAsync(CancellationToken token);
public Task<ITransferResult> CompleteAsync(TimeSpan timeout);
public Task<ITransferResult> CompleteAsync(TimeSpan timeout, CancellationToken token);
public void Dispose();
public Task StartAsync();
public Task StartAsync(CancellationToken token);
public Task StartAsync(TimeSpan timeout);
public Task StartAsync(TimeSpan timeout, CancellationToken token);
public PathValidationResult ValidatePath(TransferPath path);
protected virtual void RetryAddPaths(CancellationToken token);
protected IRemotePathResolver CreatePathResolver(bool source);
protected virtual void Dispose(bool disposing);
protected abstract void OnChangeDataRate(int minRateMbps, int targetRateMbps, CancellationToken token);
protected virtual IRemotePathResolver OnCreatePathResolver(bool source);
protected virtual void OnJobCanceled(bool isDisposing);
protected abstract void OnJobRetry(TimeSpan timeout, CancellationToken token);
protected abstract void OnJobStarted(TimeSpan timeout, CancellationToken token);
protected abstract void OnPathAdded(TransferPath path, CancellationToken token);
protected abstract ITransferResult OnWaitJobCompletion(TimeSpan timeout, CancellationToken token);
protected void SetTransferResult(TransferResult result, IReadOnlyCollection<ITransferIssue> issues, CancellationToken token);
protected virtual void ValidateStart();
protected virtual void ValidateWait();
}
}