use std::time::Duration;
#[derive(Debug, Clone)]
pub struct PipelineLimits {
pub max_response_bytes: usize,
pub request_timeout: Duration,
pub stream_idle_timeout: Duration,
}
impl Default for PipelineLimits {
fn default() -> Self {
Self {
max_response_bytes: 2 * 1024 * 1024, request_timeout: Duration::from_secs(120),
stream_idle_timeout: Duration::from_secs(30),
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_default_limits() {
let limits = PipelineLimits::default();
assert_eq!(limits.max_response_bytes, 2_097_152);
assert_eq!(limits.request_timeout, Duration::from_secs(120));
assert_eq!(limits.stream_idle_timeout, Duration::from_secs(30));
}
#[test]
fn test_custom_limits() {
let limits = PipelineLimits {
max_response_bytes: 1024,
request_timeout: Duration::from_secs(10),
stream_idle_timeout: Duration::from_secs(5),
};
assert_eq!(limits.max_response_bytes, 1024);
}
}