BonsaiDb’s networked database implementation.
This crate implements BonsaiDb’s networked database implementation. The
types provide their most common functionality by implementing the
This crate supports two methods for exposing a BonsaiDb server: QUIC and WebSockets.
QUIC is a new protocol built atop UDP. It is designed to operate more reliably than TCP, and features TLS built-in at the protocol level. WebSockets are an established protocol built atop TCP and HTTP.
Our user’s guide has a section covering setting up and accessing a BonsaiDb server.
Minimum Supported Rust Version (MSRV)
While this project is alpha, we are actively adopting the current version of
Rust. The current minimum version is
- Types for defining API handlers.
- Command-line interface for the server.
- The Automated Certificate Management Environment (ACME) configuration.
- Configuration for the BonsaiDb network protocol.
- A connected database client.
- A BonsaiDb server.
- A locked reference to associated client data.
Backendwith no custom functionality.
- A connected network peer.
- Configuration options for
- A database belonging to a
- An error that can occur inside of a
- Controls how a server should handle a connection.
- The default permissions to use for all connections to the server.
- An error occurred while interacting with a
ApplicationProtocolsthat BonsaiDb has some knowledge of.
- The ways a client can be connected to the server.
- URI of https://letsencrypt.org/ prod Directory. Certificates aquired from this are trusted by most Browsers.
- URI of https://letsencrypt.org/ staging Directory. Use this for tests. See https://letsencrypt.org/docs/staging-environment/
- A collection of supported protocols for a network service.
- Tailors the behavior of a server to your needs.
- A service that can handle incoming HTTP connections. A convenience implementation of
TcpServicethat is useful is you are only serving HTTP and WebSockets over a service.
- A service that can handle incoming TCP connections.
- A BonsaiDb server without a custom backend.