InEvent

Enum InEvent 

Source
pub enum InEvent {
    Attached(Transport),
    Detached(Transport),
    Frame(Transport, FrameBuf),
    Admin {
        frame: AdminFrame,
        reply_budget: usize,
    },
    CancelAlert,
    Toggle(Setting),
    ForceBluetoothOn,
}
Expand description

Framing-free receive path and connection edges into the driver.

Variants§

§

Attached(Transport)

§

Detached(Transport)

§

Frame(Transport, FrameBuf)

§

Admin

One ULCP frame from a mesh administrator, whose response must fit reply_budget octets. The driver answers on ADMIN_REPLY.

Authorization has already happened: the responder checked that the packet arrived by unicast or blind unicast, that its source is authenticated, and that the source key is listed in PROP_DEV_ADMINS. Nothing that fails those checks reaches here.

Fields

§reply_budget: usize
§

CancelAlert

Someone cancelled a running locate alert at the device — the button press of whoever found the radio. Ignored when no alert is running, so a board may report the press unconditionally.

§

Toggle(Setting)

A switch was flipped at the device, on a board that offers the setting as a user-facing control. Ignored when the device lacks the capability behind it, so a board may report the press unconditionally.

§

ForceBluetoothOn

The hold-through-power-on ceremony fired: PROP_BLE_ENABLED must end up on, whatever it was. Not a toggle — the same gesture on a device already reachable would otherwise strand it — and ignored entirely when Bluetooth is already on or the device has none.

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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.
§

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V