public void Drop(TKey entityKey) { var folder = FilesystemLocator.FindSnapshotFolder(entityKey, options); var entities = fileSystem.GetEntitiesRecursive(folder).ToList(); foreach (var entity in entities) { fileSystem.Delete(entity); } }
private IOrderedEnumerable <FileSystemPath> GetExistingFiles(TKey key) { var folder = FilesystemLocator.FindSnapshotFolder(key, options); if (!fileSystem.Exists(folder)) { fileSystem.CreateDirectoryRecursive(folder); } return(fileSystem.GetEntities(folder) .Where(path => path.IsFile) .Where(path => fileSystem.Exists(path)) .OrderBy(x => TimeFromFilename(x))); }
private Stream CreateNewFile(TKey key, long time, int requiredEmptyBytes) { var fileName = ToFilename(time, zeroPaddingStep); var filePath = FilesystemLocator.FindSnapshotFolder(key, options) .AppendFile(fileName); using (var fileStream = fileSystem.CreateFile(filePath)) { var data = new byte[zeroPaddingStep]; data[zeroPaddingStep - 1] = 255; fileStream.Write(data, 0, zeroPaddingStep); } var stream = fileSystem.OpenFile(filePath, FileAccess.ReadWrite); return(SeekOrReopen(stream, filePath, zeroPaddingStep - 1, requiredEmptyBytes)); }