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 TypeMethodDescriptionvoid
close()
free resources from this snapshot immediatelylong
deserialize
(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 snapshotvoid
persist 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
-