pub struct IoVecWriter<'a, I> { /* private fields */ }Expand description
A writer which writes data to IoVec buffers of plugin memory.
If an error occurs while writing (for example if an IoVec points to an invalid memory
address), the error will be returned only if no bytes have yet been written. If an error occurs
after some bytes have already been written, the Write::write will
return how many bytes have been written.
In the future we may want to merge this with
MemoryWriterCursor.
Implementations§
Source§impl<'a, I> IoVecWriter<'a, I>
 
impl<'a, I> IoVecWriter<'a, I>
pub fn new<'b>( iovs: impl IntoIterator<Item = &'b IoVec, IntoIter = I>, mem: &'a mut MemoryManager, ) -> Self
Trait Implementations§
Source§impl<'a, I: Iterator<Item = &'a IoVec>> Write for IoVecWriter<'a, I>
 
impl<'a, I: Iterator<Item = &'a IoVec>> Write for IoVecWriter<'a, I>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
 
fn write(&mut self, buf: &[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<'a, I> Freeze for IoVecWriter<'a, I>where
    I: Freeze,
impl<'a, I> !RefUnwindSafe for IoVecWriter<'a, I>
impl<'a, I> Send for IoVecWriter<'a, I>where
    I: Send,
impl<'a, I> !Sync for IoVecWriter<'a, I>
impl<'a, I> Unpin for IoVecWriter<'a, I>where
    I: Unpin,
impl<'a, I> !UnwindSafe for IoVecWriter<'a, I>
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 moreSource§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<W> WriteBytesExt for W
 
impl<W> WriteBytesExt for W
Source§fn write_u8(&mut self, n: u8) -> Result<(), Error>
 
fn write_u8(&mut self, n: u8) -> Result<(), Error>
Writes an unsigned 8 bit integer to the underlying writer. Read more
Source§fn write_i8(&mut self, n: i8) -> Result<(), Error>
 
fn write_i8(&mut self, n: i8) -> Result<(), Error>
Writes a signed 8 bit integer to the underlying writer. Read more
Source§fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 16 bit integer to the underlying writer. Read more
Source§fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 16 bit integer to the underlying writer. Read more
Source§fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 24 bit integer to the underlying writer. Read more
Source§fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 24 bit integer to the underlying writer. Read more
Source§fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 32 bit integer to the underlying writer. Read more
Source§fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 32 bit integer to the underlying writer. Read more
Source§fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 48 bit integer to the underlying writer. Read more
Source§fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 48 bit integer to the underlying writer. Read more
Source§fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 64 bit integer to the underlying writer. Read more
Source§fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 64 bit integer to the underlying writer. Read more
Source§fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned 128 bit integer to the underlying writer.
Source§fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed 128 bit integer to the underlying writer.
Source§fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
Source§fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more
Source§fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
Source§fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
 
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where
    T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more