aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-04-06 17:51:42 +0200
committermetamuffin <metamuffin@disroot.org>2023-04-06 17:51:42 +0200
commitc3c3a07cae6a938534824c32573927dd7a5ece4b (patch)
tree3238fae7f8334a18b9fc6bb3342416fe184c4492 /src/config.rs
parent6d06d9a0eaf8d7c3f03df1501b9acd0a71cb53ae (diff)
downloadgnix-c3c3a07cae6a938534824c32573927dd7a5ece4b.tar
gnix-c3c3a07cae6a938534824c32573927dd7a5ece4b.tar.bz2
gnix-c3c3a07cae6a938534824c32573927dd7a5ece4b.tar.zst
configure max_incoming_connections
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs
index 58b885a..68479e4 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -6,10 +6,21 @@ use std::{collections::HashMap, fs::read_to_string, net::SocketAddr, path::PathB
pub struct Config {
pub http: Option<HttpConfig>,
pub https: Option<HttpsConfig>,
+ #[serde(default)]
+ pub limits: Limits,
+ #[serde(default)]
pub hosts: HashMap<String, HostConfig>,
}
#[derive(Debug, Serialize, Deserialize)]
+pub struct Limits {
+ #[serde(default)]
+ pub max_incoming_connections: usize,
+ #[serde(default)]
+ pub max_outgoing_connections: usize,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
pub struct HttpConfig {
pub bind: SocketAddr,
}
@@ -42,3 +53,12 @@ impl Config {
Ok(config)
}
}
+
+impl Default for Limits {
+ fn default() -> Self {
+ Self {
+ max_incoming_connections: 1024,
+ max_outgoing_connections: usize::MAX,
+ }
+ }
+}