pub struct Broadcaster<T> { /* private fields */ }Expand description
Broadcast UART recevied data to multiple users.
Normally, if there are multiple users of UART, they share the same buffer (most commonly the kernel buffer).
This means that only one user can read a specific piece of data at a time. Broadcaster ensures that all clone
of it can receive all data.
Implementations§
Source§impl<T> Broadcaster<T>
impl<T> Broadcaster<T>
pub fn new(inner: T) -> Broadcaster<T>
Trait Implementations§
Source§impl<T> Clone for Broadcaster<T>
impl<T> Clone for Broadcaster<T>
Source§impl<T: ConsoleDevice> ConsoleDevice for Broadcaster<T>
impl<T: ConsoleDevice> ConsoleDevice for Broadcaster<T>
Source§impl<T> Drop for Broadcaster<T>
impl<T> Drop for Broadcaster<T>
Source§impl<T: Uart> Uart for Broadcaster<T>
impl<T: Uart> Uart for Broadcaster<T>
Source§fn get_baudrate(&self) -> Result<u32>
fn get_baudrate(&self) -> Result<u32>
Returns the UART baudrate. May return zero for virtual UARTs.
Source§fn set_baudrate(&self, baudrate: u32) -> Result<()>
fn set_baudrate(&self, baudrate: u32) -> Result<()>
Sets the UART baudrate. May do nothing for virtual UARTs.
fn get_flow_control(&self) -> Result<FlowControl>
Source§fn set_flow_control(&self, flow_control: bool) -> Result<()>
fn set_flow_control(&self, flow_control: bool) -> Result<()>
Enables software flow control for
writes.Source§fn get_device_path(&self) -> Result<String>
fn get_device_path(&self) -> Result<String>
Returns
"/dev/ttyUSBn" or similar OS device path usable by external programs for
directly accessing the serial port.Source§fn clear_rx_buffer(&self) -> Result<()>
fn clear_rx_buffer(&self) -> Result<()>
Clears the UART RX buffer.
fn set_parity(&self, parity: Parity) -> Result<()>
fn get_parity(&self) -> Result<Parity>
fn set_break(&self, enable: bool) -> Result<()>
Auto Trait Implementations§
impl<T> Freeze for Broadcaster<T>
impl<T> RefUnwindSafe for Broadcaster<T>
impl<T> Send for Broadcaster<T>where
T: Send,
impl<T> Sync for Broadcaster<T>where
T: Send,
impl<T> Unpin for Broadcaster<T>
impl<T> UnwindSafe for Broadcaster<T>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ConsoleExt for Twhere
T: ConsoleDevice + ?Sized,
impl<T> ConsoleExt for Twhere
T: ConsoleDevice + ?Sized,
Source§fn read(&self, buf: &mut [u8]) -> Result<usize, Error>
fn read(&self, buf: &mut [u8]) -> Result<usize, Error>
Reads UART receive data into
buf, returning the number of bytes read.
This function is blocking.Source§fn read_timeout(
&self,
buf: &mut [u8],
timeout: Duration,
) -> Result<usize, Error>
fn read_timeout( &self, buf: &mut [u8], timeout: Duration, ) -> Result<usize, Error>
Reads UART receive data into
buf, returning the number of bytes read.
The timeout may be used to specify a duration to wait for data.
If timeout expires without any data arriving Ok(0) will be returned, never Err(_).