pub struct Config {
pub database: Database,
pub pool: PoolConfig,
}Expand description
Configuration object.
§Example (from environment)
By enabling the serde feature you can read the configuration using the
config crate as following:
LIBSQL__DATABASE=Local
LIBSQL__PATH=db.sqlite#[derive(serde::Deserialize, serde::Serialize)]
struct Config {
libsql: deadpool_libsql::config::Config,
}
impl Config {
pub fn from_env() -> Result<Self, config::ConfigError> {
let mut cfg = config::Config::builder()
.add_source(config::Environment::default().separator("__"))
.build()?;
cfg.try_deserialize()
}
}Fields§
§database: DatabaseDatabase configuration.
pool: PoolConfigPool configuration.
Implementations§
Source§impl Config
impl Config
Sourcepub async fn create_pool(
self,
runtime: Option<Runtime>,
) -> Result<Pool, CreatePoolError<ConfigError>>
pub async fn create_pool( self, runtime: Option<Runtime>, ) -> Result<Pool, CreatePoolError<ConfigError>>
Sourcepub async fn builder(self) -> Result<PoolBuilder, ConfigError>
pub async fn builder(self) -> Result<PoolBuilder, ConfigError>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request