feat(config): introduce federation connection timeout setting

fixes #906

Signed-off-by: rooot <hey@rooot.gay>
This commit is contained in:
rooot 2025-07-20 03:14:35 +02:00
commit 5399ac97f2
No known key found for this signature in database
GPG key ID: 3582D7B034FF964F
3 changed files with 21 additions and 0 deletions

View file

@ -412,6 +412,15 @@ pub struct Config {
#[serde(default = "default_well_known_timeout")]
pub well_known_timeout: u64,
/// Federation client connection timeout (seconds). You should not set this
/// to high values, as dead homeservers can significantly slow down federation,
/// specifically key retrieval, which will take roughly the amount of time
/// you configure here given that a homeserver doesn't respond.
///
/// default: 10
#[serde(default = "default_federation_conn_timeout")]
pub federation_conn_timeout: u64,
/// Federation client request timeout (seconds). You most definitely want
/// this to be high to account for extremely large room joins, slow
/// homeservers, your own resources etc.
@ -2193,6 +2202,8 @@ fn default_well_known_conn_timeout() -> u64 { 6 }
fn default_well_known_timeout() -> u64 { 10 }
fn default_federation_conn_timeout() -> u64 { 10 }
fn default_federation_timeout() -> u64 { 25 }
fn default_federation_idle_timeout() -> u64 { 25 }