NewFileJournal(path string) (Journal, error)
: given a path, returns a Journal based on the file at that path. If no file exists, one is created. If a file does exist, the Journal is built from the entires already in that file.Size() int
: returns the numer of entries currently in the journalEmpty()
: empties the journal by truncating the underlying file and resetting the in memory linked listAppend(e Entry) error
: adds an entry to the journal by writing it to the underlying file and adding it to the in memory linked list.NewIterator() *EntryIterator
: returns an iterator over the in memory linked list of entries.proto
file here may be useful in figuring out what the Two Phase Commit API looks like.