Struct ThrottleConfig
pub struct ThrottleConfig { /* private fields */ }net only.Expand description
How ThrottleLayer and OutgoingThrottleLayer throttle a
connection: a ThrottleMode per direction and the grant quantum.
Implementations§
§impl ThrottleConfig
impl ThrottleConfig
pub fn new(
read: Option<ThrottleMode>,
write: Option<ThrottleMode>,
) -> ThrottleConfig
pub fn new( read: Option<ThrottleMode>, write: Option<ThrottleMode>, ) -> ThrottleConfig
Create a ThrottleConfig with per-direction modes.
pub fn maybe_with_quantum(self, quantum: Option<u64>) -> ThrottleConfig
pub fn maybe_with_quantum(self, quantum: Option<u64>) -> ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn maybe_set_quantum(&mut self, quantum: Option<u64>) -> &mut ThrottleConfig
pub fn maybe_set_quantum(&mut self, quantum: Option<u64>) -> &mut ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn with_quantum(self, quantum: u64) -> ThrottleConfig
pub fn with_quantum(self, quantum: u64) -> ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn set_quantum(&mut self, quantum: u64) -> &mut ThrottleConfig
pub fn set_quantum(&mut self, quantum: u64) -> &mut ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn without_quantum(self) -> ThrottleConfig
pub fn without_quantum(self) -> ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn unset_quantum(&mut self) -> &mut ThrottleConfig
pub fn unset_quantum(&mut self) -> &mut ThrottleConfig
Override the grant quantum in bytes: the budget reserved per IO operation (clamped to the burst capacity; defaults to a tenth of a period worth of bytes, at most 16 KiB).
pub fn read(&self) -> Option<&ThrottleMode>
pub fn read(&self) -> Option<&ThrottleMode>
How the read (ingress) direction is throttled, if at all.
pub fn write(&self) -> Option<&ThrottleMode>
pub fn write(&self) -> Option<&ThrottleMode>
How the write (egress) direction is throttled, if at all.
Trait Implementations§
§impl Clone for ThrottleConfig
impl Clone for ThrottleConfig
§fn clone(&self) -> ThrottleConfig
fn clone(&self) -> ThrottleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ThrottleConfig
impl Debug for ThrottleConfig
§impl Default for ThrottleConfig
impl Default for ThrottleConfig
§fn default() -> ThrottleConfig
fn default() -> ThrottleConfig
Auto Trait Implementations§
impl !RefUnwindSafe for ThrottleConfig
impl !UnwindSafe for ThrottleConfig
impl Freeze for ThrottleConfig
impl Send for ThrottleConfig
impl Sync for ThrottleConfig
impl Unpin for ThrottleConfig
impl UnsafeUnpin for ThrottleConfig
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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> ⓘ
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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more