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.