pub struct QosRingShapePolicy {
pub qos: Arc<QosPolicy>,
pub hysteresis: Duration,
}Expand description
QoS-aware shape policy: consumes the
Ordering declaration on a
QosPolicy alongside the peer
counts.
Decision matrix (after the hysteresis cooldown):
| declaration | ring | decision |
|---|---|---|
GlobalFifo | unstamped | morph to Vyukov (the proven global-FIFO structure) |
GlobalFifo | stamped | counts-based composed shape; the ordering axis is served by the merge flag, which the OrderingPolicy flips |
PerProducer | either | counts-based default (which also walks an earlier Vyukov morph back once the declaration is withdrawn) |
Fields§
§qos: Arc<QosPolicy>§hysteresis: DurationImplementations§
Trait Implementations§
Source§impl RingShapePolicy for QosRingShapePolicy
impl RingShapePolicy for QosRingShapePolicy
Auto Trait Implementations§
impl Freeze for QosRingShapePolicy
impl RefUnwindSafe for QosRingShapePolicy
impl Send for QosRingShapePolicy
impl Sync for QosRingShapePolicy
impl Unpin for QosRingShapePolicy
impl UnsafeUnpin for QosRingShapePolicy
impl UnwindSafe for QosRingShapePolicy
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