mirror of https://github.com/mastodon/flodgatt
32 lines
1.2 KiB
Rust
32 lines
1.2 KiB
Rust
//! Configuration defaults. All settings with the prefix of `DEFAULT_` can be overridden
|
|
//! by an environmental variable of the same name without that prefix (either by setting
|
|
//! the variable at runtime or in the `.env` file)
|
|
mod deployment_cfg;
|
|
mod postgres_cfg;
|
|
mod redis_cfg;
|
|
pub use self::{
|
|
deployment_cfg::DeploymentConfig, postgres_cfg::PostgresConfig, redis_cfg::RedisConfig,
|
|
};
|
|
|
|
// **NOTE**: Polling Redis is much more time consuming than polling the `Receiver`
|
|
// (on the order of 10ms rather than 50μs). Thus, changing this setting
|
|
// would be a good place to start for performance improvements at the cost
|
|
// of delaying all updates.
|
|
|
|
#[macro_export]
|
|
macro_rules! maybe_update {
|
|
($name:ident; $item: tt:$type:ty) => (
|
|
pub fn $name(self, item: Option<$type>) -> Self {
|
|
match item {
|
|
Some($item) => Self{ $item, ..self },
|
|
None => Self { ..self }
|
|
}
|
|
});
|
|
($name:ident; Some($item: tt: $type:ty)) => (
|
|
fn $name(self, item: Option<$type>) -> Self{
|
|
match item {
|
|
Some($item) => Self{ $item: Some($item), ..self },
|
|
None => Self { ..self }
|
|
}
|
|
})}
|