Struct capsules_extra::ieee802154::virtual_mac::MuxMac

source ·
pub struct MuxMac<'a, M: MacDevice<'a>> { /* private fields */ }
Expand description

IEE 802.15.4 MAC device muxer that keeps a list of MAC users and sequences any pending transmission requests. Any received frames from the underlying MAC device are sent to all users.

Implementations§

source§

impl<'a, M: MacDevice<'a>> MuxMac<'a, M>

source

pub const fn new(mac: &'a M) -> MuxMac<'a, M>

source

pub fn add_user(&self, user: &'a MacUser<'a, M>)

Registers a MAC user with this MAC mux device. Each MAC user should only be registered once.

Trait Implementations§

source§

impl<'a, M: MacDevice<'a>> RxClient for MuxMac<'a, M>

source§

fn receive<'b>( &self, buf: &'b [u8], header: Header<'b>, lqi: u8, data_offset: usize, data_len: usize, )

When a frame is received, this callback is triggered. The client only receives an immutable borrow of the buffer. Only completely valid, unsecured frames that have passed the incoming security procedure are exposed to the client. Read more
source§

impl<'a, M: MacDevice<'a>> TxClient for MuxMac<'a, M>

source§

fn send_done( &self, spi_buf: &'static mut [u8], acked: bool, result: Result<(), ErrorCode>, )

When transmission is complete or fails, return the buffer used for transmission to the client. result indicates whether or not the transmission was successful. Read more

Auto Trait Implementations§

§

impl<'a, M> !Freeze for MuxMac<'a, M>

§

impl<'a, M> !RefUnwindSafe for MuxMac<'a, M>

§

impl<'a, M> !Send for MuxMac<'a, M>

§

impl<'a, M> !Sync for MuxMac<'a, M>

§

impl<'a, M> Unpin for MuxMac<'a, M>

§

impl<'a, M> !UnwindSafe for MuxMac<'a, M>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.