Struct bonsaidb_server::ServerConfiguration
source · #[non_exhaustive]pub struct ServerConfiguration<B: Backend = NoBackend> {
pub backend: B,
pub server_name: String,
pub client_simultaneous_request_limit: usize,
pub request_workers: usize,
pub storage: StorageConfiguration,
pub default_permissions: DefaultPermissions,
pub acme: AcmeConfiguration,
/* private fields */
}Expand description
Configuration options for Server
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.backend: BThe Backend for the server.
server_name: StringThe DNS name of the server.
client_simultaneous_request_limit: usizeNumber of sumultaneous requests a single client can have in flight at a
time. Default value is 16. It is important to have this number be tuned
relative to request_workers such that one client cannot overwhelm the
entire queue.
request_workers: usizeNumber of simultaneous requests to be processed. Default value is 16.
storage: StorageConfigurationConfiguration options for individual databases.
default_permissions: DefaultPermissionsThe permissions granted to all connections to this server.
acme: AcmeConfigurationThe ACME settings for automatic TLS certificate management.
Implementations§
source§impl<B: Backend> ServerConfiguration<B>
impl<B: Backend> ServerConfiguration<B>
sourcepub fn default_for(backend: B) -> Self
pub fn default_for(backend: B) -> Self
Returns a default configuration for the given backend.
sourcepub fn new_with_backend<P: AsRef<Path>>(path: P, backend: B) -> Self
pub fn new_with_backend<P: AsRef<Path>>(path: P, backend: B) -> Self
Returns a default configuration for the given backend and path.
sourcepub fn server_name(self, server_name: impl Into<String>) -> Self
pub fn server_name(self, server_name: impl Into<String>) -> Self
Sets Self::server_name to server_name and returns self.
sourcepub const fn client_simultaneous_request_limit(
self,
request_limit: usize
) -> Self
pub const fn client_simultaneous_request_limit( self, request_limit: usize ) -> Self
Sets Self::client_simultaneous_request_limit to request_limit and returns self.
sourcepub const fn request_workers(self, workers: usize) -> Self
pub const fn request_workers(self, workers: usize) -> Self
Sets Self::request_workers to workers and returns self.
sourcepub fn default_permissions<P: Into<DefaultPermissions>>(
self,
default_permissions: P
) -> Self
pub fn default_permissions<P: Into<DefaultPermissions>>( self, default_permissions: P ) -> Self
Sets Self::default_permissions to default_permissions and returns self.
sourcepub fn acme_contact_email(self, contact_email: impl Into<String>) -> Self
pub fn acme_contact_email(self, contact_email: impl Into<String>) -> Self
Sets AcmeConfiguration::contact_email to contact_email and returns self.
sourcepub fn acme_directory(self, directory: impl Into<String>) -> Self
pub fn acme_directory(self, directory: impl Into<String>) -> Self
Sets AcmeConfiguration::directory to directory and returns self.
Trait Implementations§
source§impl<B: Backend> Builder for ServerConfiguration<B>
impl<B: Backend> Builder for ServerConfiguration<B>
source§fn with_schema<S: Schema>(self) -> Result<Self, Error>
fn with_schema<S: Schema>(self) -> Result<Self, Error>
source§fn memory_only(self) -> Self
fn memory_only(self) -> Self
StorageConfiguration::memory_only to true and returns self.source§fn path<P: AsRef<Path>>(self, path: P) -> Self
fn path<P: AsRef<Path>>(self, path: P) -> Self
StorageConfiguration::path to path and returns self.source§fn unique_id(self, unique_id: u64) -> Self
fn unique_id(self, unique_id: u64) -> Self
StorageConfiguration::unique_id to unique_id and returns self.source§fn vault_key_storage<VaultKeyStorage: AnyVaultKeyStorage>(
self,
key_storage: VaultKeyStorage
) -> Self
fn vault_key_storage<VaultKeyStorage: AnyVaultKeyStorage>( self, key_storage: VaultKeyStorage ) -> Self
StorageConfiguration::vault_key_storage to key_storage and returns self.source§fn default_encryption_key(self, key: KeyId) -> Self
fn default_encryption_key(self, key: KeyId) -> Self
StorageConfiguration::default_encryption_key to path and returns self.source§fn tasks_worker_count(self, worker_count: usize) -> Self
fn tasks_worker_count(self, worker_count: usize) -> Self
Tasks::worker_count] to worker_count and returns self.source§fn tasks_parallelization(self, parallelization: usize) -> Self
fn tasks_parallelization(self, parallelization: usize) -> Self
Tasks::parallelization] to parallelization and returns self.source§fn check_view_integrity_on_open(self, check: bool) -> Self
fn check_view_integrity_on_open(self, check: bool) -> Self
Views::check_integrity_on_open] to check and returns self.source§fn default_compression(self, compression: Compression) -> Self
fn default_compression(self, compression: Compression) -> Self
StorageConfiguration::default_compression to path and returns self.source§fn key_value_persistence(self, persistence: KeyValuePersistence) -> Self
fn key_value_persistence(self, persistence: KeyValuePersistence) -> Self
StorageConfiguration::key_value_persistence to persistence and returns self.source§fn authenticated_permissions<P: Into<Permissions>>(
self,
authenticated_permissions: P
) -> Self
fn authenticated_permissions<P: Into<Permissions>>( self, authenticated_permissions: P ) -> Self
Self::authenticated_permissions to authenticated_permissions and returns self.source§fn argon(self, argon: ArgonConfiguration) -> Self
fn argon(self, argon: ArgonConfiguration) -> Self
StorageConfiguration::argon to argon and returns self.source§impl<B: Clone + Backend> Clone for ServerConfiguration<B>
impl<B: Clone + Backend> Clone for ServerConfiguration<B>
source§fn clone(&self) -> ServerConfiguration<B>
fn clone(&self) -> ServerConfiguration<B>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more