Struct bonsaidb::server::ServerConfiguration
source · #[non_exhaustive]pub struct ServerConfiguration<B = NoBackend>where
B: Backend,{
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> ServerConfiguration<B>where
B: Backend,
impl<B> ServerConfiguration<B>where
B: Backend,
sourcepub fn default_for(backend: B) -> ServerConfiguration<B>
pub fn default_for(backend: B) -> ServerConfiguration<B>
Returns a default configuration for the given backend.
sourcepub fn new_with_backend<P>(path: P, backend: B) -> ServerConfiguration<B>
pub fn new_with_backend<P>(path: P, backend: B) -> ServerConfiguration<B>
Returns a default configuration for the given backend and path.
sourcepub fn server_name(
self,
server_name: impl Into<String>
) -> ServerConfiguration<B>
pub fn server_name( self, server_name: impl Into<String> ) -> ServerConfiguration<B>
Sets Self::server_name
to server_name
and returns self.
sourcepub const fn client_simultaneous_request_limit(
self,
request_limit: usize
) -> ServerConfiguration<B>
pub const fn client_simultaneous_request_limit( self, request_limit: usize ) -> ServerConfiguration<B>
Sets Self::client_simultaneous_request_limit
to request_limit
and returns self.
sourcepub const fn request_workers(self, workers: usize) -> ServerConfiguration<B>
pub const fn request_workers(self, workers: usize) -> ServerConfiguration<B>
Sets Self::request_workers
to workers
and returns self.
sourcepub fn default_permissions<P>(
self,
default_permissions: P
) -> ServerConfiguration<B>where
P: Into<DefaultPermissions>,
pub fn default_permissions<P>(
self,
default_permissions: P
) -> ServerConfiguration<B>where
P: Into<DefaultPermissions>,
Sets Self::default_permissions
to default_permissions
and returns self.
sourcepub fn acme_contact_email(
self,
contact_email: impl Into<String>
) -> ServerConfiguration<B>
pub fn acme_contact_email( self, contact_email: impl Into<String> ) -> ServerConfiguration<B>
Sets AcmeConfiguration::contact_email
to contact_email
and returns self.
sourcepub fn acme_directory(
self,
directory: impl Into<String>
) -> ServerConfiguration<B>
pub fn acme_directory( self, directory: impl Into<String> ) -> ServerConfiguration<B>
Sets AcmeConfiguration::directory
to directory
and returns self.
sourcepub fn register_custom_api<Dispatcher, Api>(&mut self) -> Result<(), Error>
pub fn register_custom_api<Dispatcher, Api>(&mut self) -> Result<(), Error>
Trait Implementations§
source§impl<B> Builder for ServerConfiguration<B>where
B: Backend,
impl<B> Builder for ServerConfiguration<B>where
B: Backend,
source§fn with_schema<S>(self) -> Result<ServerConfiguration<B>, Error>where
S: Schema,
fn with_schema<S>(self) -> Result<ServerConfiguration<B>, Error>where
S: Schema,
source§fn memory_only(self) -> ServerConfiguration<B>
fn memory_only(self) -> ServerConfiguration<B>
StorageConfiguration::memory_only
to true and returns self.source§fn path<P>(self, path: P) -> ServerConfiguration<B>
fn path<P>(self, path: P) -> ServerConfiguration<B>
StorageConfiguration::path
to path
and returns self.source§fn unique_id(self, unique_id: u64) -> ServerConfiguration<B>
fn unique_id(self, unique_id: u64) -> ServerConfiguration<B>
StorageConfiguration::unique_id
to unique_id
and returns self.source§fn vault_key_storage<VaultKeyStorage>(
self,
key_storage: VaultKeyStorage
) -> ServerConfiguration<B>where
VaultKeyStorage: AnyVaultKeyStorage,
fn vault_key_storage<VaultKeyStorage>(
self,
key_storage: VaultKeyStorage
) -> ServerConfiguration<B>where
VaultKeyStorage: AnyVaultKeyStorage,
StorageConfiguration::vault_key_storage
to key_storage
and returns self.source§fn default_encryption_key(self, key: KeyId) -> ServerConfiguration<B>
fn default_encryption_key(self, key: KeyId) -> ServerConfiguration<B>
StorageConfiguration::default_encryption_key
to path
and returns self.source§fn tasks_worker_count(self, worker_count: usize) -> ServerConfiguration<B>
fn tasks_worker_count(self, worker_count: usize) -> ServerConfiguration<B>
Tasks::worker_count
to worker_count
and returns self.source§fn tasks_parallelization(self, parallelization: usize) -> ServerConfiguration<B>
fn tasks_parallelization(self, parallelization: usize) -> ServerConfiguration<B>
Tasks::parallelization
to parallelization
and returns self.source§fn check_view_integrity_on_open(self, check: bool) -> ServerConfiguration<B>
fn check_view_integrity_on_open(self, check: bool) -> ServerConfiguration<B>
Views::check_integrity_on_open
to check
and returns self.source§fn default_compression(self, compression: Compression) -> ServerConfiguration<B>
fn default_compression(self, compression: Compression) -> ServerConfiguration<B>
StorageConfiguration::default_compression
to path
and returns self.source§fn key_value_persistence(
self,
persistence: KeyValuePersistence
) -> ServerConfiguration<B>
fn key_value_persistence( self, persistence: KeyValuePersistence ) -> ServerConfiguration<B>
StorageConfiguration::key_value_persistence
to persistence
and returns self.source§fn authenticated_permissions<P>(
self,
authenticated_permissions: P
) -> ServerConfiguration<B>where
P: Into<Permissions>,
fn authenticated_permissions<P>(
self,
authenticated_permissions: P
) -> ServerConfiguration<B>where
P: Into<Permissions>,
Self::authenticated_permissions
to authenticated_permissions
and returns self.source§fn argon(self, argon: ArgonConfiguration) -> ServerConfiguration<B>
fn argon(self, argon: ArgonConfiguration) -> ServerConfiguration<B>
StorageConfiguration::argon
to argon
and returns self.source§impl<B> Clone for ServerConfiguration<B>
impl<B> 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