pub trait Write {
    type Err: Default;

    fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Err>;

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Err> { ... }
    fn write_u8(&mut self, x: u8) -> Result<(), Self::Err> { ... }
    fn write_u16(&mut self, x: u16) -> Result<(), Self::Err> { ... }
    fn write_u32(&mut self, x: u32) -> Result<(), Self::Err> { ... }
    fn write_u64(&mut self, x: u64) -> Result<(), Self::Err> { ... }
    fn write_i8(&mut self, x: i8) -> Result<(), Self::Err> { ... }
    fn write_i16(&mut self, x: i16) -> Result<(), Self::Err> { ... }
    fn write_i32(&mut self, x: i32) -> Result<(), Self::Err> { ... }
    fn write_i64(&mut self, x: i64) -> Result<(), Self::Err> { ... }
}
Expand description

The Write trait provides functionality for writing to byte streams.

Required Associated Types

Required Methods

Try to write the given buffer into the output stream. If writes are successful returns the number of bytes written.

Provided Methods

Attempt to write the entirety of the buffer to the output by repeatedly calling write until either no more output can written, or writing fails.

Write a single byte to the output.

Write a u16 in little endian.

Write a u32 in little endian.

Write a u64 in little endian.

Write a i8 to the output.

Write a i16 in little endian.

Write a i32 in little endian.

Write a i64 in little endian.

Implementations on Foreign Types

This implementation overwrite the contents of the slice and updates the reference to point to the unwritten part. The slice is (by necessity) never extended. This is in contrast to the Vec<u8> implementation which always extends the vector with the data that is written.

Implementors

Return values are intended to be produced by writing to the ExternReturnValue buffer, either in a high-level interface via serialization, or in a low-level interface by manually using the Write trait’s interface.

The write method always appends data to the end of the vector.