pub struct RuntimeConfig {
pub bind: SocketAddr,
pub max_connections: usize,
pub max_file_streams: usize,
pub header_read_timeout: Duration,
pub connection_total_timeout: Duration,
pub handler_timeout: Duration,
pub body_read_timeout: Duration,
pub graceful_shutdown_timeout: Duration,
pub server_header: Option<String>,
pub max_request_body_bytes: u64,
}Expand description
Transport-level runtime configuration.
All fields have safe defaults that match or strengthen the CLI defaults. Configuration validation occurs at construction time via the builder.
§Examples
use eggserve_core::server::RuntimeConfig;
let config = RuntimeConfig::builder()
.bind("127.0.0.1:8000".parse().unwrap())
.max_connections(128)
.build()?;Fields§
§bind: SocketAddrAddress to bind the listener to.
max_connections: usizeMaximum concurrent connections. Default: 64.
max_file_streams: usizeMaximum concurrent file-stream responses. Default: 32.
header_read_timeout: DurationTimeout for reading request headers. Default: 10s.
connection_total_timeout: DurationTimeout wrapping the entire Hyper connection future. Default: 60s.
handler_timeout: DurationTimeout for a single handler invocation. Default: 30s.
body_read_timeout: DurationTimeout for reading the request body. Default: 30s. This is a total deadline for body consumption, not an idle timeout.
graceful_shutdown_timeout: DurationGraceful shutdown grace period. Default: 10s.
server_header: Option<String>Server identification header value. If Some, added as Server
header on responses. Default: None.
max_request_body_bytes: u64Maximum allowed request body size in bytes. This is the hard ceiling that no service can exceed. Default: 0 (bodies rejected).
Implementations§
Source§impl RuntimeConfig
impl RuntimeConfig
Sourcepub fn builder() -> RuntimeConfigBuilder
pub fn builder() -> RuntimeConfigBuilder
Create a new builder with default values.
Trait Implementations§
Source§impl Clone for RuntimeConfig
impl Clone for RuntimeConfig
Source§fn clone(&self) -> RuntimeConfig
fn clone(&self) -> RuntimeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more