/// <summary> /// Commit index checkpoint /// </summary> /// <param name="indexToken"></param> /// <param name="commitMetadata"></param> public void CommitIndexCheckpoint(Guid indexToken, byte[] commitMetadata) { string filename = directoryConfiguration.GetIndexCheckpointMetaFileName(indexToken); using (BinaryWriter writer = new(new FileStream(filename, FileMode.Create))) { writer.Write(commitMetadata.Length); writer.Write(commitMetadata); writer.Flush(); } string completed_filename = directoryConfiguration.GetIndexCheckpointFolder(indexToken); completed_filename += Path.DirectorySeparatorChar + "completed.dat"; using FileStream file = new(completed_filename, FileMode.Create); file.Flush(); }
/// <inheritdoc /> public void Purge(Guid token) { // Try both because we don't know which one try { new DirectoryInfo(directoryConfiguration.GetHybridLogCheckpointFolder(token)).Delete(true); } catch { } try { new DirectoryInfo(directoryConfiguration.GetIndexCheckpointFolder(token)).Delete(true); } catch { } }