Esempio n. 1
0
        /// <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();
        }
Esempio n. 2
0
 /// <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 { }
 }