ITransferJob
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Relativity.Transfer
{
public interface ITransferJob : IDisposable
{
int ChangedMinDataRateMbps { get; }
int ChangedTargetDataRateMbps { get; }
ClientConfiguration Configuration { get; }
bool IsDataRateChangeSupported { get; }
ITransferJobService JobService { get; }
ITransferRequest Request { get; }
TimeSpan RetryWaitPeriod { get; }
TransferJobStatus Status { get; }
Task AddPathsAsync(SerializedBatch batch);
Task AddPathsAsync(SerializedBatch batch, CancellationToken token);
void AddPath(TransferPath path);
void AddPath(TransferPath path, CancellationToken token);
void AddPaths(IEnumerable<TransferPath> paths);
void AddPaths(IEnumerable<TransferPath> paths, CancellationToken token);
Task AddPathsAsync(IEnumerable<TransferPath> paths);
Task AddPathsAsync(IEnumerable<TransferPath> paths, CancellationToken token);
void ChangeDataRate(int minRateMbps, int targetRateMbps);
void ChangeDataRate(int minRateMbps, int targetRateMbps, CancellationToken token);
Task ChangeDataRateAsync(int minRateMbps, int targetRateMbps);
Task ChangeDataRateAsync(int minRateMbps, int targetRateMbps, CancellationToken token);
Task<ITransferResult> CompleteAsync();
Task<ITransferResult> CompleteAsync(CancellationToken token);
Task<ITransferResult> CompleteAsync(TimeSpan timeout);
Task<ITransferResult> CompleteAsync(TimeSpan timeout, CancellationToken token);
void ValidatePath(TransferPath path);
}
}