pub enum EthernetLinkDevice {}Expand description
An implementation of the LinkDevice trait for Ethernet devices.
Trait Implementations§
Source§impl<BC: BindingsContext, L: LockBefore<IpState<Ipv4>>> ArpContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<IpState<Ipv4>>> ArpContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§type ConfigCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv4Arp as WrappedLockLevel>::LockLevel>>
type ConfigCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv4Arp as WrappedLockLevel>::LockLevel>>
The inner configuration context.
Source§type ArpSenderCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv4Arp as WrappedLockLevel>::LockLevel>>
type ArpSenderCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv4Arp as WrappedLockLevel>::LockLevel>>
The inner sender context.
Source§fn with_arp_state_mut_and_sender_ctx<O, F: FnOnce(&mut ArpState<EthernetLinkDevice, BC>, &mut Self::ArpSenderCtx<'_>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_arp_state_mut_and_sender_ctx<O, F: FnOnce(&mut ArpState<EthernetLinkDevice, BC>, &mut Self::ArpSenderCtx<'_>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with a mutable reference to ARP state and the
core sender context.
Source§fn get_protocol_addr(
&mut self,
device_id: &EthernetDeviceId<BC>,
) -> Option<Ipv4Addr>
fn get_protocol_addr( &mut self, device_id: &EthernetDeviceId<BC>, ) -> Option<Ipv4Addr>
Get a protocol address of this interface. Read more
Source§fn get_hardware_addr(
&mut self,
_bindings_ctx: &mut BC,
device_id: &EthernetDeviceId<BC>,
) -> UnicastAddr<Mac>
fn get_hardware_addr( &mut self, _bindings_ctx: &mut BC, device_id: &EthernetDeviceId<BC>, ) -> UnicastAddr<Mac>
Get the hardware address of this interface.
Source§fn with_arp_state_mut<O, F: FnOnce(&mut ArpState<EthernetLinkDevice, BC>, &mut Self::ConfigCtx<'_>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_arp_state_mut<O, F: FnOnce(&mut ArpState<EthernetLinkDevice, BC>, &mut Self::ConfigCtx<'_>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with a mutable reference to ARP state and the ARP
configuration context.
Source§fn with_arp_state<O, F: FnOnce(&ArpState<EthernetLinkDevice, BC>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_arp_state<O, F: FnOnce(&ArpState<EthernetLinkDevice, BC>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with an immutable reference to ARP state.
Source§impl<BC: BindingsContext, L: LockBefore<IpDeviceConfiguration<Ipv4>>> ArpIpLayerContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<IpDeviceConfiguration<Ipv4>>> ArpIpLayerContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§fn on_arp_packet(
&mut self,
bindings_ctx: &mut BC,
device_id: &EthernetDeviceId<BC>,
sender_addr: Ipv4Addr,
target_addr: Ipv4Addr,
is_arp_probe: bool,
) -> bool
fn on_arp_packet( &mut self, bindings_ctx: &mut BC, device_id: &EthernetDeviceId<BC>, sender_addr: Ipv4Addr, target_addr: Ipv4Addr, is_arp_probe: bool, ) -> bool
Dispatches a received ARP Request or Reply to the IP layer. Read more
Source§impl Clone for EthernetLinkDevice
impl Clone for EthernetLinkDevice
Source§fn clone(&self) -> EthernetLinkDevice
fn clone(&self) -> EthernetLinkDevice
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EthernetLinkDevice
impl Debug for EthernetLinkDevice
Source§impl<'a, BT, L> DeviceCollectionContext<EthernetLinkDevice, BT> for CoreCtx<'a, BT, L>where
BT: BindingsTypes,
L: LockBefore<DeviceLayerState>,
impl<'a, BT, L> DeviceCollectionContext<EthernetLinkDevice, BT> for CoreCtx<'a, BT, L>where
BT: BindingsTypes,
L: LockBefore<DeviceLayerState>,
Source§fn insert(&mut self, device: EthernetPrimaryDeviceId<BT>)
fn insert(&mut self, device: EthernetPrimaryDeviceId<BT>)
Adds
device to the device collection.Source§fn remove(
&mut self,
device: &EthernetDeviceId<BT>,
) -> Option<EthernetPrimaryDeviceId<BT>>
fn remove( &mut self, device: &EthernetDeviceId<BT>, ) -> Option<EthernetPrimaryDeviceId<BT>>
Removes
device from the collection, if it exists.Source§impl<'a, BT, L> DeviceConfigurationContext<EthernetLinkDevice> for CoreCtx<'a, BT, L>
impl<'a, BT, L> DeviceConfigurationContext<EthernetLinkDevice> for CoreCtx<'a, BT, L>
Source§fn with_nud_config<I: Ip, O, F: FnOnce(Option<&NudUserConfig>) -> O>(
&mut self,
device_id: &Self::DeviceId,
f: F,
) -> O
fn with_nud_config<I: Ip, O, F: FnOnce(Option<&NudUserConfig>) -> O>( &mut self, device_id: &Self::DeviceId, f: F, ) -> O
Calls the callback with a mutable reference to the NUD user
configuration for IP version
I. Read moreSource§fn with_nud_config_mut<I: Ip, O, F: FnOnce(Option<&mut NudUserConfig>) -> O>(
&mut self,
device_id: &Self::DeviceId,
f: F,
) -> O
fn with_nud_config_mut<I: Ip, O, F: FnOnce(Option<&mut NudUserConfig>) -> O>( &mut self, device_id: &Self::DeviceId, f: F, ) -> O
Calls the callback with a mutable reference to the NUD user
configuration for IP version
I. Read moreSource§impl<BT: BindingsTypes, L> DeviceIdContext<EthernetLinkDevice> for CoreCtx<'_, BT, L>
impl<BT: BindingsTypes, L> DeviceIdContext<EthernetLinkDevice> for CoreCtx<'_, BT, L>
Source§type DeviceId = BaseDeviceId<EthernetLinkDevice, BT>
type DeviceId = BaseDeviceId<EthernetLinkDevice, BT>
The type of device IDs.
Source§type WeakDeviceId = BaseWeakDeviceId<EthernetLinkDevice, BT>
type WeakDeviceId = BaseWeakDeviceId<EthernetLinkDevice, BT>
The type of weakly referenced device IDs.
Source§impl DeviceStateSpec for EthernetLinkDevice
impl DeviceStateSpec for EthernetLinkDevice
Source§const IS_LOOPBACK: bool = false
const IS_LOOPBACK: bool = false
Marker for loopback devices.
Source§const DEBUG_TYPE: &'static str = "Ethernet"
const DEBUG_TYPE: &'static str = "Ethernet"
Marker used to print debug information for device identifiers.
Source§type State<BT: DeviceLayerTypes> = EthernetDeviceState<BT>
type State<BT: DeviceLayerTypes> = EthernetDeviceState<BT>
The device state.
Source§type External<BT: DeviceLayerTypes> = <BT as DeviceLayerStateTypes>::EthernetDeviceState
type External<BT: DeviceLayerTypes> = <BT as DeviceLayerStateTypes>::EthernetDeviceState
The external (bindings) state.
Source§type CreationProperties = EthernetCreationProperties
type CreationProperties = EthernetCreationProperties
Properties given to device creation.
Source§type Counters = EthernetDeviceCounters
type Counters = EthernetDeviceCounters
Device-specific counters.
Source§type TimerId<D: WeakDeviceIdentifier> = EthernetTimerId<D>
type TimerId<D: WeakDeviceIdentifier> = EthernetTimerId<D>
The timer identifier required by this device state.
Source§fn new_device_state<CC, BC>(
bindings_ctx: &mut BC,
self_id: <CC as DeviceIdContext<EthernetLinkDevice>>::WeakDeviceId,
_: <EthernetLinkDevice as DeviceStateSpec>::CreationProperties,
) -> <EthernetLinkDevice as DeviceStateSpec>::State<BC>where
CC: CoreTimerContext<<EthernetLinkDevice as DeviceStateSpec>::TimerId<<CC as DeviceIdContext<EthernetLinkDevice>>::WeakDeviceId>, BC> + DeviceIdContext<EthernetLinkDevice>,
BC: DeviceLayerTypes + TimerContext,
fn new_device_state<CC, BC>(
bindings_ctx: &mut BC,
self_id: <CC as DeviceIdContext<EthernetLinkDevice>>::WeakDeviceId,
_: <EthernetLinkDevice as DeviceStateSpec>::CreationProperties,
) -> <EthernetLinkDevice as DeviceStateSpec>::State<BC>where
CC: CoreTimerContext<<EthernetLinkDevice as DeviceStateSpec>::TimerId<<CC as DeviceIdContext<EthernetLinkDevice>>::WeakDeviceId>, BC> + DeviceIdContext<EthernetLinkDevice>,
BC: DeviceLayerTypes + TimerContext,
Creates a new device state from the given properties.
Source§impl Hash for EthernetLinkDevice
impl Hash for EthernetLinkDevice
Source§impl LinkDevice for EthernetLinkDevice
impl LinkDevice for EthernetLinkDevice
Source§impl<BC: BindingsContext, L: LockBefore<FilterState<Ipv6>>> NudContext<Ipv6, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<FilterState<Ipv6>>> NudContext<Ipv6, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§type ConfigCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv6Nud as WrappedLockLevel>::LockLevel>>
type ConfigCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv6Nud as WrappedLockLevel>::LockLevel>>
The inner configuration context.
Source§type SenderCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv6Nud as WrappedLockLevel>::LockLevel>>
type SenderCtx<'a> = CoreCtxWithDeviceId<'a, Locked<&'a StackState<BC>, <EthernetIpv6Nud as WrappedLockLevel>::LockLevel>>
The inner send context.
Source§fn with_nud_state_mut_and_sender_ctx<O, F: FnOnce(&mut NudState<Ipv6, EthernetLinkDevice, BC>, &mut Self::SenderCtx<'_>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_nud_state_mut_and_sender_ctx<O, F: FnOnce(&mut NudState<Ipv6, EthernetLinkDevice, BC>, &mut Self::SenderCtx<'_>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with a mutable reference to the NUD state and the
core sender context.
Source§fn with_nud_state_mut<O, F: FnOnce(&mut NudState<Ipv6, EthernetLinkDevice, BC>, &mut Self::ConfigCtx<'_>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_nud_state_mut<O, F: FnOnce(&mut NudState<Ipv6, EthernetLinkDevice, BC>, &mut Self::ConfigCtx<'_>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with a mutable reference to the NUD state and NUD
configuration for the device.
Source§fn with_nud_state<O, F: FnOnce(&NudState<Ipv6, EthernetLinkDevice, BC>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_nud_state<O, F: FnOnce(&NudState<Ipv6, EthernetLinkDevice, BC>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls the function with an immutable reference to the NUD state.
Source§fn send_neighbor_solicitation(
&mut self,
bindings_ctx: &mut BC,
device_id: &EthernetDeviceId<BC>,
lookup_addr: SpecifiedAddr<Ipv6Addr>,
remote_link_addr: Option<Mac>,
)
fn send_neighbor_solicitation( &mut self, bindings_ctx: &mut BC, device_id: &EthernetDeviceId<BC>, lookup_addr: SpecifiedAddr<Ipv6Addr>, remote_link_addr: Option<Mac>, )
Sends a neighbor probe/solicitation message. Read more
Source§impl<BC: BindingsContext, L: LockBefore<IcmpAllSocketsSet<Ipv4>>> NudIcmpContext<Ipv4, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<IcmpAllSocketsSet<Ipv4>>> NudIcmpContext<Ipv4, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§fn send_icmp_dest_unreachable(
&mut self,
bindings_ctx: &mut BC,
frame: Buf<Vec<u8>>,
device_id: Option<&Self::DeviceId>,
original_src_ip: SocketIpAddr<Ipv4Addr>,
original_dst_ip: SocketIpAddr<Ipv4Addr>,
(header_len, fragment_type): (usize, Ipv4FragmentType),
)
fn send_icmp_dest_unreachable( &mut self, bindings_ctx: &mut BC, frame: Buf<Vec<u8>>, device_id: Option<&Self::DeviceId>, original_src_ip: SocketIpAddr<Ipv4Addr>, original_dst_ip: SocketIpAddr<Ipv4Addr>, (header_len, fragment_type): (usize, Ipv4FragmentType), )
Send an ICMP destination unreachable error to
original_src_ip as
a result of frame being unable to be sent/forwarded due to link
layer address resolution failure. Read moreSource§impl<BC: BindingsContext, L: LockBefore<IcmpAllSocketsSet<Ipv6>>> NudIcmpContext<Ipv6, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<IcmpAllSocketsSet<Ipv6>>> NudIcmpContext<Ipv6, EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§fn send_icmp_dest_unreachable(
&mut self,
bindings_ctx: &mut BC,
frame: Buf<Vec<u8>>,
device_id: Option<&Self::DeviceId>,
original_src_ip: SocketIpAddr<Ipv6Addr>,
original_dst_ip: SocketIpAddr<Ipv6Addr>,
_: (),
)
fn send_icmp_dest_unreachable( &mut self, bindings_ctx: &mut BC, frame: Buf<Vec<u8>>, device_id: Option<&Self::DeviceId>, original_src_ip: SocketIpAddr<Ipv6Addr>, original_dst_ip: SocketIpAddr<Ipv6Addr>, _: (), )
Send an ICMP destination unreachable error to
original_src_ip as
a result of frame being unable to be sent/forwarded due to link
layer address resolution failure. Read moreSource§impl PartialEq for EthernetLinkDevice
impl PartialEq for EthernetLinkDevice
Source§impl<BC: BindingsContext, L: LockBefore<EthernetTxDequeue>> TransmitDequeueContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<EthernetTxDequeue>> TransmitDequeueContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§type TransmitQueueCtx<'a> = Locked<&'a StackState<BC>, <EthernetTxDequeue as WrappedLockLevel>::LockLevel>
type TransmitQueueCtx<'a> = Locked<&'a StackState<BC>, <EthernetTxDequeue as WrappedLockLevel>::LockLevel>
The inner context providing dequeuing.
Source§fn with_dequed_packets_and_tx_queue_ctx<O, F: FnOnce(&mut DequeueState<Self::Meta, Self::Buffer>, &mut Self::TransmitQueueCtx<'_>) -> O>(
&mut self,
device_id: &Self::DeviceId,
cb: F,
) -> O
fn with_dequed_packets_and_tx_queue_ctx<O, F: FnOnce(&mut DequeueState<Self::Meta, Self::Buffer>, &mut Self::TransmitQueueCtx<'_>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O
Calls the function with the TX deque state and the TX queue context.
Source§impl<BC: BindingsContext, L: LockBefore<EthernetTxQueue>> TransmitQueueCommon<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<EthernetTxQueue>> TransmitQueueCommon<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§type Meta = <BC as TxMetadataBindingsTypes>::TxMetadata
type Meta = <BC as TxMetadataBindingsTypes>::TxMetadata
The metadata associated with every packet in the queue.
Source§type Allocator = BufVecU8Allocator
type Allocator = BufVecU8Allocator
An allocator of
Self::Buffer.Source§type DequeueContext = <BC as DeviceLayerEventDispatcher>::DequeueContext
type DequeueContext = <BC as DeviceLayerEventDispatcher>::DequeueContext
The context given to
send_frame when dequeueing.Source§fn parse_outgoing_frame<'a, 'b>(
buf: &'a [u8],
_meta: &'b Self::Meta,
) -> Result<SentFrame<&'a [u8]>, ParseSentFrameError>
fn parse_outgoing_frame<'a, 'b>( buf: &'a [u8], _meta: &'b Self::Meta, ) -> Result<SentFrame<&'a [u8]>, ParseSentFrameError>
Parses an outgoing frame for packet socket delivery.
Source§impl<BC: BindingsContext, L: LockBefore<EthernetTxQueue>> TransmitQueueContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
impl<BC: BindingsContext, L: LockBefore<EthernetTxQueue>> TransmitQueueContext<EthernetLinkDevice, BC> for CoreCtx<'_, BC, L>
Source§fn with_transmit_queue_mut<O, F: FnOnce(&mut TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_transmit_queue_mut<O, F: FnOnce(&mut TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls
cb with mutable access to the queue state.Source§fn with_transmit_queue<O, F: FnOnce(&TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>(
&mut self,
device_id: &EthernetDeviceId<BC>,
cb: F,
) -> O
fn with_transmit_queue<O, F: FnOnce(&TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>( &mut self, device_id: &EthernetDeviceId<BC>, cb: F, ) -> O
Calls
cb with immutable access to the queue state.Source§fn send_frame(
&mut self,
bindings_ctx: &mut BC,
device_id: &Self::DeviceId,
dequeue_context: Option<&mut BC::DequeueContext>,
_meta: Self::Meta,
buf: Self::Buffer,
) -> Result<(), DeviceSendFrameError>
fn send_frame( &mut self, bindings_ctx: &mut BC, device_id: &Self::DeviceId, dequeue_context: Option<&mut BC::DequeueContext>, _meta: Self::Meta, buf: Self::Buffer, ) -> Result<(), DeviceSendFrameError>
Send a frame out the device. Read more
impl Copy for EthernetLinkDevice
impl Device for EthernetLinkDevice
impl Eq for EthernetLinkDevice
impl StructuralPartialEq for EthernetLinkDevice
Auto Trait Implementations§
impl Freeze for EthernetLinkDevice
impl RefUnwindSafe for EthernetLinkDevice
impl Send for EthernetLinkDevice
impl Sync for EthernetLinkDevice
impl Unpin for EthernetLinkDevice
impl UnwindSafe for EthernetLinkDevice
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,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
Source§impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
Source§fn send_frame<S>(
&mut self,
bindings_ctx: &mut BC,
metadata: Meta,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>
fn send_frame<S>( &mut self, bindings_ctx: &mut BC, metadata: Meta, frame: S, ) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>
Send a frame. Read more
Source§impl<BC, S, Meta, DeviceId> SendableFrameMeta<FakeCoreCtx<S, Meta, DeviceId>, BC> for Meta
impl<BC, S, Meta, DeviceId> SendableFrameMeta<FakeCoreCtx<S, Meta, DeviceId>, BC> for Meta
Source§fn send_meta<SS>(
self,
core_ctx: &mut FakeCoreCtx<S, Meta, DeviceId>,
bindings_ctx: &mut BC,
frame: SS,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, SS>>
fn send_meta<SS>( self, core_ctx: &mut FakeCoreCtx<S, Meta, DeviceId>, bindings_ctx: &mut BC, frame: SS, ) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, SS>>
Sends this frame metadata to the provided contexts.
Source§impl<Meta, BC> SendableFrameMeta<FakeFrameCtx<Meta>, BC> for Meta
impl<Meta, BC> SendableFrameMeta<FakeFrameCtx<Meta>, BC> for Meta
Source§fn send_meta<S>(
self,
core_ctx: &mut FakeFrameCtx<Meta>,
_bindings_ctx: &mut BC,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>
fn send_meta<S>( self, core_ctx: &mut FakeFrameCtx<Meta>, _bindings_ctx: &mut BC, frame: S, ) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>
Sends this frame metadata to the provided contexts.
Source§impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
Source§fn handle_timer(
&mut self,
bindings_ctx: &mut BC,
dispatch: Id,
timer: <BC as TimerBindingsTypes>::UniqueTimerId,
)
fn handle_timer( &mut self, bindings_ctx: &mut BC, dispatch: Id, timer: <BC as TimerBindingsTypes>::UniqueTimerId, )
Handle a timer firing. Read more
Source§impl<L, T> UnlockedAccess<L> for Twhere
L: UnlockedAccessMarkerFor<T>,
impl<L, T> UnlockedAccess<L> for Twhere
L: UnlockedAccessMarkerFor<T>,
Source§type Data = <L as UnlockedAccessMarkerFor<T>>::Data
type Data = <L as UnlockedAccessMarkerFor<T>>::Data
The type of state being accessed.
Source§type Guard<'l> = &'l <L as UnlockedAccessMarkerFor<T>>::Data
where
T: 'l
type Guard<'l> = &'l <L as UnlockedAccessMarkerFor<T>>::Data where T: 'l
A guard providing read access to the data.
Source§fn access(&self) -> <T as UnlockedAccess<L>>::Guard<'_>
fn access(&self) -> <T as UnlockedAccess<L>>::Guard<'_>
How to access the state.