package co.codewizards.cloudstore.core.repo.transport; import java.util.Set; import java.util.UUID; import co.codewizards.cloudstore.core.repo.local.ContextWithLocalRepoManager; public interface LocalRepoTransport extends RepoTransport, ContextWithLocalRepoManager { boolean isTransferDone(UUID fromRepositoryId, UUID toRepositoryId, TransferDoneMarkerType transferDoneMarkerType, long fromEntityId, long fromLocalRevision); void markTransferDone(UUID fromRepositoryId, UUID toRepositoryId, TransferDoneMarkerType transferDoneMarkerType, long fromEntityId, long fromLocalRevision); /** * Before transferring a file, mark it to be 'inProgress' for this specific from-to connection. In case of an * interruption of a sync, the next sync is aware of the situation. * @param inProgress True will set the marker, false will remove it. */ void markFileInProgress(UUID fromRepository, UUID toRepository, String path, boolean inProgress); Set<String> getFileInProgressPaths(UUID fromRepository, UUID toRepository); }