struct SerialLogger;Expand description
Simple serial port logger
Trait Implementations§
Source§impl Log for SerialLogger
impl Log for SerialLogger
Source§fn log(&self, record: &Record<'_>)
fn log(&self, record: &Record<'_>)
Performs the log operation.
Architecture (FreeBSD vt(4) / Linux nbcon pattern):
- Always write to serial (fast, always works).
- Enqueue a plain-text copy into the lock-free
vgabufring buffer. No lock is acquired here : safe from any context (IRQ, panic). - The
status_line_taskdrainsvgabufto the framebuffer asynchronously viavgabuf_flush_to_framebuffer().
This decouples the hot logging path from framebuffer rendering, making deadlocks structurally impossible.
Auto Trait Implementations§
impl Freeze for SerialLogger
impl RefUnwindSafe for SerialLogger
impl Send for SerialLogger
impl Sync for SerialLogger
impl Unpin for SerialLogger
impl UnsafeUnpin for SerialLogger
impl UnwindSafe for SerialLogger
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more