<PackageReference Include="Relativity.Server.Transfer.SDK" Version="25000.0.6" />

Relativity.Transfer.TransferJobBase

public abstract class TransferJobBase : ITransferJob, IDisposable
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(); } }