zamsync-core 1.3.0

Core types, traits, and protocol messages for the ZamSync sync engine
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::{Event, SequenceNumber, ZamResult};

pub trait EventStore {
    fn next_seq(&self) -> SequenceNumber;
    fn append(&mut self, event: &Event) -> ZamResult<SequenceNumber>;
    fn scan(&self) -> ZamResult<Box<dyn Iterator<Item = ZamResult<Event>>>>;
    fn sync(&mut self) -> ZamResult<()>;
    /// Current on-disk byte size of the backing store. Used for Prometheus metrics.
    /// Returns 0 for in-memory or non-file-backed implementations.
    fn byte_size(&self) -> u64 {
        0
    }
}