pub struct ServingPolicy {
pub command_capacity: usize,
pub stream_capacity: usize,
pub serial_per_handler: bool,
}Expand description
Driver queue capacities and per-handler ordering policy, retained as data for recording and replay.
Fields§
§command_capacity: usizeCommands the driver buffers, bus-wide, before a dispatch parks at its send stage until the driver drains. The bound holds across every dispatcher and every dispatch; the caller of a dispatch is never blocked.
stream_capacity: usizeDriver delivery queue capacity. rig-agent bounds its consumer queue; rig-ecs uses at least one shared slot plus one sender-reserved slot. Source-internal buffers and collection work limits are separate.
serial_per_handler: boolServes one command at a time per key in arrival order when true; otherwise permits concurrent execution.
Serial handlers must not dispatch to their own key and await the result, which would deadlock. Drivers reject detectable cases as request errors. Use another key or concurrent serving for nested calls to the same handler.
Trait Implementations§
Source§impl Clone for ServingPolicy
impl Clone for ServingPolicy
impl Copy for ServingPolicy
Source§impl Debug for ServingPolicy
impl Debug for ServingPolicy
Source§impl Default for ServingPolicy
impl Default for ServingPolicy
Source§impl<'de> Deserialize<'de> for ServingPolicy
impl<'de> Deserialize<'de> for ServingPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ServingPolicy
Source§impl PartialEq for ServingPolicy
impl PartialEq for ServingPolicy
Source§impl Serialize for ServingPolicy
impl Serialize for ServingPolicy
impl StructuralPartialEq for ServingPolicy
Auto Trait Implementations§
impl Freeze for ServingPolicy
impl RefUnwindSafe for ServingPolicy
impl Send for ServingPolicy
impl Sync for ServingPolicy
impl Unpin for ServingPolicy
impl UnsafeUnpin for ServingPolicy
impl UnwindSafe for ServingPolicy
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
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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