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: B
The Backend
for the server.
server_name: String
The DNS name of the server.
client_simultaneous_request_limit: usize
Number 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: usize
Number of simultaneous requests to be processed. Default value is 16.
storage: StorageConfiguration
Configuration options for individual databases.
default_permissions: DefaultPermissions
The permissions granted to all connections to this server.
acme: AcmeConfiguration
The 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