Offline-first P2P storage engine in Rust.
- Ring Buffers: Lock-free, T-shirt sized (XS/S/M/L/XL), cache-aligned
- Storage: LMDB + Merkle trees, content-addressed with Blake3
- Identity: XaeroID (Falcon-512 + ZK proofs)
- Networking: Iroh (QUIC + gossipsub), DHT discovery
- Vector Search: HNSW indexing with configurable extractors
- Zero allocation hot paths
- POD-first with bytemuck
#[repr(C, align(64))]
structs- Actor model with bounded collections
use xaeroflux::XaeroFlux;
use xaeroid::XaeroID;
let mut xf = XaeroFlux::new();
// Start AOF persistence
xf.start_aof()?;
// Start P2P networking
xf.start_p2p(my_xaero_id)?;
// Send data
xf.send_text("Hello world")?;
xf.send_file_data(&file_bytes)?;
Size | Capacity | Event Size |
---|---|---|
XS | 1024 | 64 bytes |
S | 1024 | 256 bytes |
M | 512 | 1024 bytes |
L | 256 | 4096 bytes |
XL | 128 | 16384 bytes |
- Vector clock synchronization
- Event discovery and exchange
- File transfer
- Audio/video streaming
- Events: Append-only log in LMDB
- Indexing: Hash tables + vector search
- Merkle trees: Content verification
- Vector clocks: Causal ordering
cargo build --release
cargo test
MPL-2.0