Raft::Log::InMemory
In-memory log implementation for testing and development.
All data is held in memory and lost when the process exits. This is the recommended implementation for unit and integration tests.
Constructors
Instance methods
Appends a single entry to the log with conflict detection.
If an existing entry at the same index has a different term, all entries from that index onward are truncated before appending. An entry with matching index and term is skipped (idempotent).
Yields each entry in the inclusive range [from, to] without
allocating an intermediate array. Preferred over slice on hot paths.
Returns the entry at the given 1-based index, or nil if not present.
Loads the most recent snapshot, or returns nil if none exists.
Returns a tuple of {last_included_index, last_included_term, snapshot_data}.
Saves a snapshot and compacts the log up to last_index.
All entries with index <= last_index are removed from the log.
Returns entries in the inclusive range [from, to].
Returns the term of the entry at index, or nil if not present.