kernel::debug

Trait IoWrite

Source
pub trait IoWrite {
    // Required method
    fn write(&mut self, buf: &[u8]) -> usize;

    // Provided method
    fn write_ring_buffer(&mut self, buf: &RingBuffer<'_, u8>) -> usize { ... }
}
Expand description

Implementation of std::io::Write for no_std.

This takes bytes instead of a string (contrary to core::fmt::Write), but we cannot use std::io::Write' as it isn't available in no_std(due tostd::io::Error` not being available).

Also, in our use cases, writes are infallible, so the write function cannot return an Err, however it might not be able to write everything, so it returns the number of bytes written.

See also the tracking issue: https://github.com/rust-lang/rfcs/issues/2262.

Required Methods§

Source

fn write(&mut self, buf: &[u8]) -> usize

Provided Methods§

Source

fn write_ring_buffer(&mut self, buf: &RingBuffer<'_, u8>) -> usize

Implementors§