C# Class GuiLabs.FileUtilities.DirectoryContentsCache

For large remote folders it can take hours just to enumerate the contents of the remote folder. For unreliable connections restarting ContentSync will require re-reading the contents from scratch again. To avoid this repeated cost, once the contents of the remote folder have been read we flush it to disk. If at any time after that ContentSync encounters errors, the cache will persist until ContentSync is invoked next time. However upon successful completion the cache is cleared.
Show file Open project: KirillOsenkov/ContentSync Class Usage Examples

Public Methods

Method Description
ClearWrittenFilesFromCache ( ) : void
SaveToCache ( string rootFolder, string pattern, HashSet files, HashSet folders ) : void
TryReadFromCache ( string rootFolder, string pattern, HashSet files, HashSet folders ) : bool

Private Methods

Method Description
GetCacheFilePaths ( string rootFolder, string pattern, string &fileListFilePath, string &folderListFilePath ) : void

Method Details

ClearWrittenFilesFromCache() public static method

public static ClearWrittenFilesFromCache ( ) : void
return void

SaveToCache() public static method

public static SaveToCache ( string rootFolder, string pattern, HashSet files, HashSet folders ) : void
rootFolder string
pattern string
files HashSet
folders HashSet
return void

TryReadFromCache() public static method

public static TryReadFromCache ( string rootFolder, string pattern, HashSet files, HashSet folders ) : bool
rootFolder string
pattern string
files HashSet
folders HashSet
return bool