mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-11 22:33:01 +02:00
Compare commits
10 commits
394382884d
...
95610499c7
Author | SHA1 | Date | |
---|---|---|---|
|
95610499c7 |
||
|
f593cac58a |
||
|
1c985c59f5 |
||
|
b635e825d2 |
||
|
6d29098d1a |
||
|
374fb2745c |
||
|
a1d616e3e3 |
||
|
30a8c06fd9 |
||
|
0631094350 |
||
|
9051ce63f7 |
3 changed files with 25 additions and 0 deletions
|
@ -325,6 +325,15 @@
|
||||||
#
|
#
|
||||||
#well_known_timeout = 10
|
#well_known_timeout = 10
|
||||||
|
|
||||||
|
# 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. This will cause most clients to time out /keys/query, causing
|
||||||
|
# E2EE and device verification to fail.
|
||||||
|
#
|
||||||
|
#federation_conn_timeout = 10
|
||||||
|
|
||||||
# Federation client request timeout (seconds). You most definitely want
|
# Federation client request timeout (seconds). You most definitely want
|
||||||
# this to be high to account for extremely large room joins, slow
|
# this to be high to account for extremely large room joins, slow
|
||||||
# homeservers, your own resources etc.
|
# homeservers, your own resources etc.
|
||||||
|
|
|
@ -412,6 +412,17 @@ pub struct Config {
|
||||||
#[serde(default = "default_well_known_timeout")]
|
#[serde(default = "default_well_known_timeout")]
|
||||||
pub well_known_timeout: u64,
|
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. This will cause most clients to time out /keys/query, causing
|
||||||
|
/// E2EE and device verification to fail.
|
||||||
|
///
|
||||||
|
/// default: 10
|
||||||
|
#[serde(default = "default_federation_conn_timeout")]
|
||||||
|
pub federation_conn_timeout: u64,
|
||||||
|
|
||||||
/// Federation client request timeout (seconds). You most definitely want
|
/// Federation client request timeout (seconds). You most definitely want
|
||||||
/// this to be high to account for extremely large room joins, slow
|
/// this to be high to account for extremely large room joins, slow
|
||||||
/// homeservers, your own resources etc.
|
/// homeservers, your own resources etc.
|
||||||
|
@ -2193,6 +2204,8 @@ fn default_well_known_conn_timeout() -> u64 { 6 }
|
||||||
|
|
||||||
fn default_well_known_timeout() -> u64 { 10 }
|
fn default_well_known_timeout() -> u64 { 10 }
|
||||||
|
|
||||||
|
fn default_federation_conn_timeout() -> u64 { 10 }
|
||||||
|
|
||||||
fn default_federation_timeout() -> u64 { 25 }
|
fn default_federation_timeout() -> u64 { 25 }
|
||||||
|
|
||||||
fn default_federation_idle_timeout() -> u64 { 25 }
|
fn default_federation_idle_timeout() -> u64 { 25 }
|
||||||
|
|
|
@ -66,6 +66,7 @@ impl crate::Service for Service {
|
||||||
|
|
||||||
federation: base(config)?
|
federation: base(config)?
|
||||||
.dns_resolver(resolver.resolver.hooked.clone())
|
.dns_resolver(resolver.resolver.hooked.clone())
|
||||||
|
.connect_timeout(Duration::from_secs(config.federation_conn_timeout))
|
||||||
.read_timeout(Duration::from_secs(config.federation_timeout))
|
.read_timeout(Duration::from_secs(config.federation_timeout))
|
||||||
.pool_max_idle_per_host(config.federation_idle_per_host.into())
|
.pool_max_idle_per_host(config.federation_idle_per_host.into())
|
||||||
.pool_idle_timeout(Duration::from_secs(config.federation_idle_timeout))
|
.pool_idle_timeout(Duration::from_secs(config.federation_idle_timeout))
|
||||||
|
@ -74,6 +75,7 @@ impl crate::Service for Service {
|
||||||
|
|
||||||
synapse: base(config)?
|
synapse: base(config)?
|
||||||
.dns_resolver(resolver.resolver.hooked.clone())
|
.dns_resolver(resolver.resolver.hooked.clone())
|
||||||
|
.connect_timeout(Duration::from_secs(config.federation_conn_timeout))
|
||||||
.read_timeout(Duration::from_secs(305))
|
.read_timeout(Duration::from_secs(305))
|
||||||
.pool_max_idle_per_host(0)
|
.pool_max_idle_per_host(0)
|
||||||
.redirect(redirect::Policy::limited(3))
|
.redirect(redirect::Policy::limited(3))
|
||||||
|
@ -81,6 +83,7 @@ impl crate::Service for Service {
|
||||||
|
|
||||||
sender: base(config)?
|
sender: base(config)?
|
||||||
.dns_resolver(resolver.resolver.hooked.clone())
|
.dns_resolver(resolver.resolver.hooked.clone())
|
||||||
|
.connect_timeout(Duration::from_secs(config.federation_conn_timeout))
|
||||||
.read_timeout(Duration::from_secs(config.sender_timeout))
|
.read_timeout(Duration::from_secs(config.sender_timeout))
|
||||||
.timeout(Duration::from_secs(config.sender_timeout))
|
.timeout(Duration::from_secs(config.sender_timeout))
|
||||||
.pool_max_idle_per_host(1)
|
.pool_max_idle_per_host(1)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue