Expand description
BonsaiDb’s offline database implementation.
This crate exposes BonsaiDb’s local database implementation. The
Storage
type provides its most common functionality by
implementing the StorageConnection
.
§Minimum Supported Rust Version (MSRV)
While this project is alpha, we are actively adopting the current version of
Rust. The current minimum version is 1.70
.
§Feature Flags
By default, the full
feature is enabled.
full
: Enables all the flags belowasync
: Enables async-compatible typescli
: Enables theclap
structures for embedding database management commands into your own command-line interface.encryption
: Enables at-rest encryption.instrument
: Enables instrumenting withtracing
.multiuser
: Enables multi-user support.password-hashing
: Enables the ability to use password authentication using Argon2.token-authentication
: Enables the ability to authenticate using authentication tokens, which are similar to API keys.
Re-exports§
pub use argon2;
pub use bonsaidb_core as core;
Modules§
- cli
- Command-line interface helpers.
- config
- Configuration options.
- vault
- Encryption and secret management.
Structs§
- Async
Database - A database stored in BonsaiDb. This type is designed for use with
Tokio. For blocking (non-asynchronous) code, see the
Database
type instead. - Async
Storage - A file-based, multi-database, multi-user database engine. This type is
designed for use with Tokio. For blocking
(non-asynchronous) code, see the
Storage
type instead. - Database
- A database stored in BonsaiDb. This type blocks the current thread when
used. See
AsyncDatabase
for this type’s async counterpart. - Storage
- A file-based, multi-database, multi-user database engine. This type blocks
the current thread when used. See
AsyncStorage
for this type’s async counterpart. - Storage
Id - The unique id of a
Storage
instance. - Subscriber
- A subscriber for
PubSub
messages.
Enums§
- Error
- Errors that can occur from interacting with storage.
Traits§
- Backup
Location - A location to store and restore a database from.
- Database
NonBlocking - Operations that can be performed on both
Database
andAsyncDatabase
. - Storage
NonBlocking - Functionality that is available on both
Storage
andAsyncStorage
.