multipart_write/io/mod.rs
1//! `MultipartWrite` for foreign writer types.
2use std::io::Write;
3
4#[cfg(feature = "tokio")]
5#[cfg_attr(docsrs, doc(cfg(feature = "tokio")))]
6mod multi_async_writer;
7#[cfg(feature = "tokio")]
8#[cfg_attr(docsrs, doc(cfg(feature = "tokio")))]
9#[doc(inline)]
10pub use multi_async_writer::{MultiAsyncWriter, async_write};
11
12mod multi_io_writer;
13pub use multi_io_writer::MultiIoWriter;
14
15/// Converts a [`Write`] into a [`MultipartWrite`] that is always available to
16/// have parts written.
17///
18/// [`Write`]: std::io::Write
19/// [`MultipartWrite`]: crate::MultipartWrite
20pub fn io_write<W: Write + Default>(write: W) -> MultiIoWriter<W> {
21 MultiIoWriter::new(write)
22}