pub struct WifiSimulatorWasm { /* private fields */ }Expand description
A deterministic browser substitute for the platform Wi-Fi auto-provisioner.
See the crate::wasm module for the browser implementation overview.
use core::convert::Infallible;
use device_envoy_core::wasm::{
ButtonWasmSource, WifiConnectOutcome, WifiSimulatorWasm,
};
async fn connect() -> Result<(), Infallible> {
let outcomes = [
WifiConnectOutcome::Connected,
WifiConnectOutcome::ResetRequested,
];
assert_eq!(outcomes.len(), 2);
let button_source = ButtonWasmSource::new();
let mut button = button_source.button();
let wifi_simulator = WifiSimulatorWasm::new("counter-demo");
wifi_simulator.reset();
let outcome = wifi_simulator
.connect(&mut button, async |_event| Ok::<(), Infallible>(()))
.await?;
assert_eq!(outcome, WifiConnectOutcome::Connected);
Ok(())
}Implementations§
Source§impl WifiSimulatorWasm
impl WifiSimulatorWasm
Sourcepub const fn new(storage_namespace: &'static str) -> Self
pub const fn new(storage_namespace: &'static str) -> Self
Construct a simulated Wi-Fi resource scoped to an application namespace.
See the compiled WifiSimulatorWasm example.
Sourcepub fn reset(&self)
pub fn reset(&self)
Reset this application’s simulated Wi-Fi resource to its disconnected state.
See the compiled WifiSimulatorWasm example.
Sourcepub async fn connect<OnEvent, Error>(
&self,
button: &mut ButtonWasm,
on_event: OnEvent,
) -> Result<WifiConnectOutcome, Error>
pub async fn connect<OnEvent, Error>( &self, button: &mut ButtonWasm, on_event: OnEvent, ) -> Result<WifiConnectOutcome, Error>
Run the deterministic browser connection sequence.
See the compiled WifiSimulatorWasm example.
Auto Trait Implementations§
impl Freeze for WifiSimulatorWasm
impl RefUnwindSafe for WifiSimulatorWasm
impl Send for WifiSimulatorWasm
impl Sync for WifiSimulatorWasm
impl Unpin for WifiSimulatorWasm
impl UnsafeUnpin for WifiSimulatorWasm
impl UnwindSafe for WifiSimulatorWasm
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Casts the value.
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<S, T> Upcast<T> for S
impl<S, T> Upcast<T> for S
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.