pub struct OutputSink<W: Write> { /* private fields */ }Expand description
A deterministic compressed or plain output stream.
The sink owns at most 64 KiB of Rust buffering. Format writers must keep
their additional workspace within OutputOptions::memory_limit_bytes.
Implementations§
Source§impl OutputSink<File>
impl OutputSink<File>
Sourcepub fn create(
path: impl AsRef<Path>,
options: OutputOptions,
) -> Result<Self, Diagnostic>
pub fn create( path: impl AsRef<Path>, options: OutputOptions, ) -> Result<Self, Diagnostic>
Creates a local output stream, selecting compression from its suffix.
§Errors
Returns E7901 for invalid limits, unavailable compression, or an
output file that cannot be created.
Source§impl<W: Write> OutputSink<W>
impl<W: Write> OutputSink<W>
Trait Implementations§
Source§impl<W: Write> Debug for OutputSink<W>
impl<W: Write> Debug for OutputSink<W>
Source§impl<W: Write> Write for OutputSink<W>
impl<W: Write> Write for OutputSink<W>
Source§fn write(&mut self, bytes: &[u8]) -> Result<usize>
fn write(&mut self, bytes: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<W> Freeze for OutputSink<W>
impl<W> RefUnwindSafe for OutputSink<W>where
Option<Encoder<W>>: RefUnwindSafe,
impl<W> Send for OutputSink<W>
impl<W> Sync for OutputSink<W>
impl<W> Unpin for OutputSink<W>
impl<W> UnsafeUnpin for OutputSink<W>where
Option<Encoder<W>>: UnsafeUnpin,
impl<W> UnwindSafe for OutputSink<W>where
Option<Encoder<W>>: UnwindSafe,
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more