Skip to main content

Crate rag_rat_sync

Crate rag_rat_sync 

Source
Expand description

Peer/p2p transport for the rag-rat op log (phase D, #406).

Phase C built the stationary machine — a signed, hash-chained op log with a deterministic, device-independent fold, and ingest seams that verify raw signed bytes from any source. This crate is the wire: an iroh QUIC session that exchanges those bytes between peers and feeds each received entry back through the same ingest seam, so a synced entry passes exactly the checks a local write does. The transport adds movement, never trust.

Layers, bottom up:

  • wire — the frozen CBOR frame protocol (hello / entries / done).
  • codec — length-prefixed framing over any async byte stream (iroh in production, an in-memory duplex in tests).
  • session — the symmetric state machine and the session::SyncStore seam.
  • store — the op-log-backed session::SyncStore.
  • endpoint — the iroh endpoint that binds the ALPN over a pinned relay and runs a session per connection.

Re-exports§

pub use auth::AuthConfig;
pub use auth::AuthError;
pub use auth::AuthPolicy;
pub use auth::AuthRole;
pub use auth::NodeAuth;
pub use auth::run_auth_phase;
pub use endpoint::EndpointError;
pub use endpoint::SyncFailure;
pub use endpoint::accept_and_sync;
pub use endpoint::build_endpoint;
pub use endpoint::connect_and_sync;
pub use endpoint::endpoint_addr;
pub use session::DEFAULT_IDLE_TIMEOUT;
pub use session::Ingested;
pub use session::MAX_SESSION_ENTRIES;
pub use session::SessionError;
pub use session::SessionReport;
pub use session::SyncStore;
pub use session::run_session;
pub use session::run_session_with_idle_timeout;
pub use store::OplogContentSyncStore;
pub use store::OplogSyncStore;
pub use wire::Frame;
pub use wire::SYNC_ALPN;
pub use wire::WireError;

Modules§

auth
The node-authorization handshake that gates a session (phase D, #881).
codec
Length-prefixed framing over an async byte stream (phase D, #406).
endpoint
The iroh endpoint adapter (phase D, #406).
session
The symmetric sync session (phase D, #406).
store
The op-log-backed SyncStore (phase D, #406).
wire
The sync session wire protocol (phase D, #406).