pub struct Stack<const UDPCOUNT: usize> {
udp_sockets: Vec<sock_udp_t, UDPCOUNT>,
}
Available on
riot_module_sock_udp
and crate feature with_embedded_nal
only.Expand description
The operating system’s network stack, used to get an implementation of
embedded_nal::UdpClientStack
.
Using this is not trivial, as RIOT needs its sockets pinned to memory for their lifetime.
Without a heap allocator, this is achieved by allocating all the required UDP sockets in a
stack object. To ensure that it is not moved, sockets on it can only be created in (and live
only for the duration of) a the run
callback, which gives the actual implementation of
UdpClientStack.
The number of UDP sockets allocated is configurable using the UDPCOUNT const generic.
Fields§
§udp_sockets: Vec<sock_udp_t, UDPCOUNT>
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<const UDPCOUNT: usize> Freeze for Stack<UDPCOUNT>
impl<const UDPCOUNT: usize> RefUnwindSafe for Stack<UDPCOUNT>
impl<const UDPCOUNT: usize> !Send for Stack<UDPCOUNT>
impl<const UDPCOUNT: usize> !Sync for Stack<UDPCOUNT>
impl<const UDPCOUNT: usize> Unpin for Stack<UDPCOUNT>
impl<const UDPCOUNT: usize> UnwindSafe for Stack<UDPCOUNT>
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> IntoSwitch for T
impl<T> IntoSwitch for T
Source§fn into_switch<ActiveLevel>(self) -> Switch<T, ActiveLevel>
fn into_switch<ActiveLevel>(self) -> Switch<T, ActiveLevel>
Source§fn into_active_high_switch(self) -> Switch<Self, ActiveHigh>where
Self: Sized,
fn into_active_high_switch(self) -> Switch<Self, ActiveHigh>where
Self: Sized,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.