package lsr.paxos.storage; import java.io.IOException; import java.util.Collection; import lsr.paxos.Snapshot; public interface DiscWriter { /* Synchronous */ void changeInstanceView(int instanceId, int view); void changeInstanceValue(int instanceId, int view, byte[] value); void changeViewNumber(int view); void close() throws IOException; Collection<ConsensusInstance> load() throws IOException; int loadViewNumber() throws IOException; void newSnapshot(Snapshot snapshot); Snapshot getSnapshot(); /* Asynchronous (but must be written before/with next synchronous) */ void decideInstance(int instanceId); }