Interface SnapShot

All Known Implementing Classes:
FileSnap

public interface SnapShot
snapshot interface for the persistence layer. implement this interface for implementing snapshots.
  • Method Details

    • deserialize

      long deserialize(DataTree dt, Map<Long,Integer> sessions) throws IOException
      deserialize a data tree from the last valid snapshot and return the last zxid that was deserialized
      Parameters:
      dt - the datatree to be deserialized into
      sessions - the sessions to be deserialized into
      Returns:
      the last zxid that was deserialized from the snapshot
      Throws:
      IOException
    • serialize

      void serialize(DataTree dt, Map<Long,Integer> sessions, File name, boolean fsync) throws IOException
      persist the datatree and the sessions into a persistence storage
      Parameters:
      dt - the datatree to be serialized
      sessions - the session timeouts to be serialized
      name - the object name to store snapshot into
      fsync - sync the snapshot immediately after write
      Throws:
      IOException
    • findMostRecentSnapshot

      File findMostRecentSnapshot() throws IOException
      find the most recent snapshot file
      Returns:
      the most recent snapshot file
      Throws:
      IOException
    • getLastSnapshotInfo

      SnapshotInfo getLastSnapshotInfo()
      get information of the last saved/restored snapshot
      Returns:
      info of last snapshot
    • close

      void close() throws IOException
      free resources from this snapshot immediately
      Throws:
      IOException