pub enum BackpressurePolicy {
BlockProducer,
DropOldest,
DropNewest,
Error,
}Expand description
Policy governing what happens when a stream queue is full.
Configured per-stream or per-flow. The reactor enforces the chosen policy.
§Examples
use torvyn_types::BackpressurePolicy;
let policy = BackpressurePolicy::BlockProducer;
assert_eq!(format!("{}", policy), "BlockProducer");Variants§
BlockProducer
Block the producer until space is available (default). This is the safest option and prevents data loss.
DropOldest
Drop the oldest element in the queue to make room for the new one. Useful for real-time systems where freshness matters more than completeness.
DropNewest
Drop the newest element (the one being produced) when the queue is full. The producer continues without blocking; the new element is discarded.
Error
Return an error to the producer when the queue is full. The producer must handle the error (retry, skip, or fail).
Implementations§
Source§impl BackpressurePolicy
impl BackpressurePolicy
Sourcepub const fn may_lose_data(&self) -> bool
pub const fn may_lose_data(&self) -> bool
Returns true if this policy can cause data loss.
§COLD PATH — called during configuration validation.
Trait Implementations§
Source§impl Clone for BackpressurePolicy
impl Clone for BackpressurePolicy
Source§fn clone(&self) -> BackpressurePolicy
fn clone(&self) -> BackpressurePolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BackpressurePolicy
impl Debug for BackpressurePolicy
Source§impl Default for BackpressurePolicy
impl Default for BackpressurePolicy
Source§fn default() -> BackpressurePolicy
fn default() -> BackpressurePolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for BackpressurePolicy
impl<'de> Deserialize<'de> for BackpressurePolicy
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for BackpressurePolicy
impl Display for BackpressurePolicy
Source§impl Hash for BackpressurePolicy
impl Hash for BackpressurePolicy
Source§impl PartialEq for BackpressurePolicy
impl PartialEq for BackpressurePolicy
Source§impl Serialize for BackpressurePolicy
impl Serialize for BackpressurePolicy
impl Copy for BackpressurePolicy
impl Eq for BackpressurePolicy
impl StructuralPartialEq for BackpressurePolicy
Auto Trait Implementations§
impl Freeze for BackpressurePolicy
impl RefUnwindSafe for BackpressurePolicy
impl Send for BackpressurePolicy
impl Sync for BackpressurePolicy
impl Unpin for BackpressurePolicy
impl UnwindSafe for BackpressurePolicy
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