Skip to main content

depot_client/
lib.rs

1//! Depot-backed SQLite client.
2//!
3//! Provides the native SQLite VFS used by Rivet actors.
4//!
5//! This is a pure Rust library. N-API bindings and transport clients
6//! live in separate crates that compose this one.
7//!
8//! The SQLite implementation used by `rivetkit-napi` is defined in this crate.
9//! Keep its storage layout and behavior in sync with the internal SQLite
10//! data-channel spec.
11//!
12//! Key invariants:
13//! - PRAGMA settings
14//! - Delete and truncate behavior
15//! - Journal and BATCH_ATOMIC behavior
16
17/// Unified native database handles and open helpers.
18pub mod database;
19
20/// SQLite optimization feature flags.
21pub mod optimization_flags;
22
23/// SQLite query execution helpers.
24pub mod query;
25
26/// Lightweight SQLite page classification for prefetch planning.
27pub mod sqlite_page;
28
29pub use depot_client_types as types;
30
31/// Custom SQLite VFS for actor-side depot transport.
32pub mod vfs;
33
34/// Single-threaded native SQLite command worker.
35pub mod worker;