1#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
7pub struct RecordId {
8 pub replica: u64,
9 pub sequence: u64,
10}
11
12impl RecordId {
13 pub(crate) fn require_positive_sequence(
14 self,
15 kind: &'static str,
16 ) -> Result<(), crate::WireError> {
17 if self.sequence == 0 {
18 Err(crate::WireError::ZeroSequenceRecord {
19 replica: self.replica,
20 kind,
21 })
22 } else {
23 Ok(())
24 }
25 }
26}
27
28#[derive(Clone, Debug, PartialEq, Eq)]
30pub struct Record<D> {
31 pub id: RecordId,
32 pub delta: D,
33}