public void Commit()
{
// store all new bufferrs
this.archive.Flush();
// commit the tree
this.tree.Commit();
// at this point the new buffers have been committed, now free the old ones
//this.FreeChunksOnCommit.Sort();
ArrayList toFree = new ArrayList();
foreach (DictionaryEntry d in this.FreeChunksOnCommit)
{
toFree.Add(d.Key);
}
toFree.Sort();
toFree.Reverse();
foreach (object thing in toFree)
{
long chunknumber = (long) thing;
this.archive.ReleaseBuffers(chunknumber);
}
this.archive.Flush();
this.ClearBookKeeping();
}