Skip to main content

Crate pamoja_sync

Crate pamoja_sync 

Source
Expand description

Offline-first store-and-forward buffering for pamoja.

Devices on intermittent links append records while offline and drain them in order when a link returns, so a node that is disconnected for hours or days loses nothing. This crate provides durable first-in first-out implementations of the core Store trait:

  • MemoryStore - a fast in-memory queue, optionally capacity-bounded so a full queue becomes an explicit backpressure signal.
  • FileStore - a crash-safe on-disk queue that survives power loss, for the power-loss-safe field logging the mission depends on.

Both buffer raw bytes, so an application pairs a Store with a Codec to persist encoded payloads and a Transport to forward them when a link appears. drain_to is the forward half: it publishes buffered records onto a transport in order, removing each only after it is sent, so a failed link loses nothing.

Structs§

FileStore
A durable first-in first-out queue backed by one file per record.
MemoryStore
A fast in-memory first-in first-out queue.

Functions§

drain_to
Drains store onto transport, publishing each record to topic, oldest first.