pamoja-sync 0.1.15

Offline-first store-and-forward buffering for pamoja: durable queues behind the core Store trait.
Documentation

pamoja-sync

Offline-first store-and-forward buffering for pamoja: durable queues behind the core Store trait.

The same capability in every language

Language Package Reference
Rust pamoja-sync reference, docs.rs
TypeScript @pamoja/sync reference
Python pamoja-sync reference
C# Pamoja.Sync reference

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.

License

MIT - part of the pamoja workspace: one memory-safe Rust core with bindings for every language.