Struct unit_rs::BodyWriter
source · [−]pub struct BodyWriter<'a> { /* private fields */ }Expand description
A writer that writes to a Unit shared memory response buffer.
This object is created using Request::write_chunks() or
Request::send_chunks_with_writer().
A chunk will be immediately sent to the client once the writer’s memory
buffer reaches chunk_size, or flush() is
called on the writer, and a new shared memory buffer will be allocated.
The writer will also flush when dropped, but any errors that happen during a drop will panic.
Implementations
sourceimpl<'a> BodyWriter<'a>
impl<'a> BodyWriter<'a>
sourcepub fn copy_from_reader<R: Read>(&mut self, r: R) -> Result<()>
pub fn copy_from_reader<R: Read>(&mut self, r: R) -> Result<()>
Copy from a reader to this writer without using an intermediary buffer.
Normally the Write trait receives an input buffer to
copy from, and the ResponseWriter writer will copy from it into Unit’s
shared memory.
This method will instead give Unit’s shared memory buffer directly to
the Read trait in order to skip copying to a third
temporary buffer (such as when using std::io::copy).
Trait Implementations
sourceimpl Drop for BodyWriter<'_>
impl Drop for BodyWriter<'_>
sourceimpl Write for BodyWriter<'_>
impl Write for BodyWriter<'_>
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)Determines if this Writer has an efficient write_vectored
implementation. Read more
1.0.0 · sourcefn 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
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
impl UnwindSafe for BodyWriter<'_>
Auto Trait Implementations
impl<'a> RefUnwindSafe for BodyWriter<'a>
impl<'a> !Send for BodyWriter<'a>
impl<'a> !Sync for BodyWriter<'a>
impl<'a> Unpin for BodyWriter<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more