pub struct ProxyLimits {
pub max_head_bytes: usize,
pub max_headers: usize,
pub max_request_body: usize,
pub max_mesh_request_body: usize,
pub max_response_body: u64,
pub head_timeout: Duration,
pub body_timeout: Duration,
pub connect_timeout: Duration,
pub stall_timeout: Duration,
pub request_timeout: Duration,
pub max_connections: usize,
pub max_connections_per_ip: usize,
}Expand description
Hard limits. Every one bounds something a client or a peer controls.
Fields§
§max_head_bytes: usizeRequest line plus headers.
max_headers: usizeHeader lines.
max_request_body: usizeRequest body.
max_mesh_request_body: usizeRequest body over the mesh (sent as hex inside a control message).
max_response_body: u64Response body, summed over all chunks.
head_timeout: DurationTime to read a request head.
body_timeout: DurationTime to read a request body.
connect_timeout: DurationTime to connect to an upstream.
stall_timeout: DurationLongest silence between upstream (or mesh) chunks.
request_timeout: DurationWall-clock cap on one forwarded request.
max_connections: usizeConcurrent connections per listener.
max_connections_per_ip: usizeConcurrent connections per client address on an exposed listener.
Trait Implementations§
Source§impl Clone for ProxyLimits
impl Clone for ProxyLimits
Source§impl Debug for ProxyLimits
impl Debug for ProxyLimits
Auto Trait Implementations§
impl Freeze for ProxyLimits
impl RefUnwindSafe for ProxyLimits
impl Send for ProxyLimits
impl Sync for ProxyLimits
impl Unpin for ProxyLimits
impl UnsafeUnpin for ProxyLimits
impl UnwindSafe for ProxyLimits
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more