#[non_exhaustive]pub struct Pee { /* private fields */ }Expand description
Runtime engine for one pee invocation. Constructed via PeeBuilder.
§Examples
let mut pee = PeeBuilder::new().build()?;
let input = Cursor::new(b"hello".to_vec());
pee.run(input)?;Implementations§
Source§impl Pee
impl Pee
Sourcepub fn run<R: Read>(&mut self, reader: R) -> Result<(), Error>
pub fn run<R: Read>(&mut self, reader: R) -> Result<(), Error>
Read from reader and fan out each chunk to every registered sink in
registration order. On sink BrokenPipe, the sink is dropped from the
live-set and the fan-out continues to the remaining sinks (FR-003 + FR-036).
Writer-untouched invariant (FR-022): every other live sink receives the COMPLETE current chunk in registration order before the failing sink is dropped.
Zero-sink case (FR-006): drains the reader to completion and returns Ok.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pee
impl !RefUnwindSafe for Pee
impl Send for Pee
impl !Sync for Pee
impl Unpin for Pee
impl UnsafeUnpin for Pee
impl !UnwindSafe for Pee
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