pub struct Stream<W: Write> { /* private fields */ }
Expand description
This state is intended for streaming output from a process to the end user. It is
started from a state::SubBullet
and finished back to a state::SubBullet
.
The Print<state::Stream<W>>
implements std::io::Write
, so you can stream
from anything that accepts a std::io::Write
.
use bullet_stream::{Print, state::{Bullet, SubBullet}};
use std::io::Write;
let mut output = Print::new(std::io::stdout())
.h2("Example Buildpack")
.bullet("Ruby version");
install_ruby(output).done();
fn install_ruby<W>(mut output: Print<SubBullet<W>>) -> Print<SubBullet<W>>
where W: Write + Send + Sync + 'static {
let mut stream = output.sub_bullet("Installing Ruby")
.start_stream("Streaming stuff");
write!(&mut stream, "...").unwrap();
stream.done()
}
Trait Implementations§
Auto Trait Implementations§
impl<W> Freeze for Stream<W>where
W: Freeze,
impl<W> !RefUnwindSafe for Stream<W>
impl<W> Send for Stream<W>where
W: Send,
impl<W> Sync for Stream<W>where
W: Sync,
impl<W> Unpin for Stream<W>where
W: Unpin,
impl<W> !UnwindSafe for Stream<W>
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