Relativity.Transfer.PathEnumeratorBase
namespace Relativity.Transfer
{
public abstract class PathEnumeratorBase : IPathEnumerator
{
protected ITransferLog Log { get; }
protected IFileSystemService FileSystemService { get; }
public virtual Task<EnumeratedPathsResult> EnumerateAsync(PathEnumeratorContext context);
public virtual Task<EnumeratedPathsResult> EnumerateAsync(PathEnumeratorContext context, CancellationToken token);
public virtual Task<SerializedPathsResult> SerializeAsync(string batchDirectory, PathEnumeratorContext context);
public Task<SerializedPathsResult> SerializeAsync(string batchDirectory, PathEnumeratorContext context, CancellationToken token);
protected virtual int GetMaxDegreeOfFileParallelism(PathEnumeratorContext context);
protected virtual int GetMaxDegreeOfDirectoryParallelism(PathEnumeratorContext context);
protected virtual void OnInitialize(PathEnumeratorContext context, CancellationToken token);
protected abstract Task<bool> OnCheckFileExistsAsync(string path, CancellationToken token);
protected abstract Task<bool> OnCheckFolderExistsAsync(string path, CancellationToken token);
protected abstract Task<bool> OnCheckIsEmptyAsync(string path, CancellationToken token);
protected abstract Task<IEnumerable<FileItem>> OnEnumerateFilesAsync(string path, PathEnumeratorContext context, CancellationToken token);
protected abstract Task<IEnumerable<FolderItem>> OnEnumerateFoldersAsync(string path, PathEnumeratorContext context, CancellationToken token);
protected abstract Task<FileItem> OnGetFileItemAsync(string path, CancellationToken token);
protected abstract Task<FolderItem> OnGetFolderItemAsync(string path, CancellationToken token);
protected virtual string GetLocalPath(string path);
}
}