Interface SnapShot
- All Known Implementing Classes:
FileSnap
public interface SnapShot
snapshot interface for the persistence layer.
implement this interface for implementing
snapshots.
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()free resources from this snapshot immediatelylongdeserialize(DataTree dt, Map<Long, Integer> sessions) deserialize a data tree from the last valid snapshot and return the last zxid that was deserializedfind the most recent snapshot fileget information of the last saved/restored snapshotvoidpersist the datatree and the sessions into a persistence storage
-
Method Details
-
deserialize
deserialize a data tree from the last valid snapshot and return the last zxid that was deserialized- Parameters:
dt- the datatree to be deserialized intosessions- 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 IOExceptionpersist the datatree and the sessions into a persistence storage- Parameters:
dt- the datatree to be serializedsessions- the session timeouts to be serializedname- the object name to store snapshot intofsync- sync the snapshot immediately after write- Throws:
IOException
-
findMostRecentSnapshot
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
free resources from this snapshot immediately- Throws:
IOException
-