pub struct StreamConfigBuilder;Expand description
Initial builder stage that requires selecting delivery behavior.
Implementations§
Source§impl StreamConfigBuilder
impl StreamConfigBuilder
Sourcepub fn lossy_without_backpressure(
self,
) -> StreamConfigReplayBuilder<LossyWithoutBackpressure>
pub fn lossy_without_backpressure( self, ) -> StreamConfigReplayBuilder<LossyWithoutBackpressure>
Lossy delivery that never blocks the child.
Mechanism: the reader task keeps draining the child’s pipe regardless of consumer pace. When a subscriber’s buffer fills, that subscriber’s chunk is dropped instead of pausing the child.
Cost: slow active consumers may observe gaps or dropped output. Line-aware consumers discard the in-progress partial line and resync at the next newline rather than splicing across the gap.
Sourcepub fn reliable_with_backpressure(
self,
) -> StreamConfigReplayBuilder<ReliableWithBackpressure>
pub fn reliable_with_backpressure( self, ) -> StreamConfigReplayBuilder<ReliableWithBackpressure>
Reliable delivery to active subscribers, paid for with backpressure on the child.
Mechanism: when an active subscriber’s buffer is full, the reader task waits before reading more from the child’s pipe. The kernel pipe then fills and the child’s next write blocks. That blocking is the cost of reliability.
Scope: the guarantee applies only to subscribers that are currently attached when each chunk is produced. Subscribers that attach later are not retroactively delivered earlier chunks by this policy; that is what the replay axis is for.
Trait Implementations§
Source§impl Clone for StreamConfigBuilder
impl Clone for StreamConfigBuilder
Source§fn clone(&self) -> StreamConfigBuilder
fn clone(&self) -> StreamConfigBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StreamConfigBuilder
impl Debug for StreamConfigBuilder
Source§impl PartialEq for StreamConfigBuilder
impl PartialEq for StreamConfigBuilder
Source§fn eq(&self, other: &StreamConfigBuilder) -> bool
fn eq(&self, other: &StreamConfigBuilder) -> bool
self and other values to be equal, and is used by ==.