/* This code is part of Freenet. It is distributed under the GNU General * Public License, version 2 (or at your option any later version). See * http://www.gnu.org/ for further details of the GPL. */ package freenet.support.io; import java.io.File; public interface PersistentFileTracker extends DiskSpaceChecker { /** While resuming, register a file with the garbage collector so that it doesn't get deleted * when startup has finished and we cleanup the persistent-temp dir. We will only delete files * which were present at startup and have not been claimed; new files are fine. */ public void register(File file); /** A positive number incremented on every transaction. */ public long commitID(); /** Notify that we have finished with a bucket and it should be freed after the * next serialization to disk. * @param bucket The bucket to free. * @param createdCommitID 0 if the bucket was created before the last node restart, otherwise * the return value of commitID() when it was created. If there hasn't been a commit, we can * free the bucket immediately... */ public void delayedFree(DelayedFree bucket, long createdCommitID); /** * Get the persistent temp files directory. */ public File getDir(); public FilenameGenerator getGenerator(); }