Crate bonsaidb_server
source ·Expand description
BonsaiDb’s networked database implementation.
This crate implements BonsaiDb’s networked database implementation. The
Server
and CustomServer<Backend>
types provide their most common functionality by implementing the
StorageConnection
.
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 1.70
.
Re-exports
pub use fabruic;
Modules
- Types for defining API handlers.
- Command-line interface for the server.
Structs
- 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.
- A
Backend
with no custom functionality. - A connected network peer.
- Configuration options for
Server
- A database belonging to a
CustomServer
.
Enums
- An error that can occur inside of a
Backend
function. - 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
Server
. - TCP
ApplicationProtocols
that BonsaiDb has some knowledge of. - The ways a client can be connected to the server.
Constants
- 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/
Traits
- 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
TcpService
that is useful is you are only serving HTTP and WebSockets over a service. - A service that can handle incoming TCP connections.
Type Definitions
- A BonsaiDb server without a custom backend.