15 breaking releases
Uses new Rust 2024
| new 0.16.0 | Nov 5, 2025 |
|---|---|
| 0.14.0 | Sep 19, 2025 |
| 0.11.0 | Jun 23, 2025 |
| 0.5.0 | Mar 19, 2025 |
| 0.1.0 | Oct 16, 2024 |
#1252 in Authentication
7,123 downloads per month
Used in 2 crates
1MB
20K
SLoC
The Aranya runtime.
Overview
The runtime crate is the starting point for integrating with Aranya.
The runtime provides a higher level interface to:
- An
Engineresponsible for enforcing aPolicyon graphCommands. - A
StorageProviderresponsible for providing a storage mechanism for graph commands. - A
syncinterface responsible for syncing graph state between peers.
Usage
Refer to provided demo/quickstart code for an example of how to use the runtime crate.
The quic_syncer.rs module provides a good example of syncing via QUIC.
Example
Start by initializing a client with desired Engine and StorageProvider
let client = ClientState::new(engine, storage)
Initialize graph for the client with:
client.new_graph(...)
Start listening for incoming sync requests with:
sync::run_syncer(...)
To initiate a sync with another peer, construct a SyncRequester
and send the sync request to the peer via the Aranya transport:
SyncRequester::new(...)
sync::sync(...)
Dependencies
~23–38MB
~612K SLoC