Struct SharedUnlockPeer
pub struct SharedUnlockPeer {
peer: SharedUnlockPeer<JsSharedUnlockDriver>,
}Expand description
Shared-unlock peer for WASM clients.
Fields§
§peer: SharedUnlockPeer<JsSharedUnlockDriver>Implementations§
pub fn new(
ipc_client: &JsIpcClient,
driver: RawJsSharedUnlockDriver,
) -> SharedUnlockPeer
pub fn new( ipc_client: &JsIpcClient, driver: RawJsSharedUnlockDriver, ) -> SharedUnlockPeer
Creates a new shared-unlock peer
pub fn set_destinations(
&self,
user_id: UserId,
destinations: Vec<SharedUnlockClient>,
)
pub fn set_destinations( &self, user_id: UserId, destinations: Vec<SharedUnlockClient>, )
Sets which clients this peer shares one user’s unlock state with. Defaults to none.
pub async fn start(
&self,
abort_controller: Option<AbortController>,
) -> Result<(), PeerStartError>
pub async fn start( &self, abort_controller: Option<AbortController>, ) -> Result<(), PeerStartError>
Starts the shared-unlock peer
pub async fn handle_device_event(&self, event: DeviceEvent)
pub async fn handle_device_event(&self, event: DeviceEvent)
Forwards a device event to the shared-unlock peer state machine.
Trait Implementations§
§type Wire = SharedUnlockPeer
type Wire = SharedUnlockPeer
The type JavaScript actually passes.
§fn from_wire(
wire: <SharedUnlockPeer as FromWasm>::Wire,
) -> Result<SharedUnlockPeer, WireError>
fn from_wire( wire: <SharedUnlockPeer as FromWasm>::Wire, ) -> Result<SharedUnlockPeer, WireError>
Recovers the Rust value from the wire value.
§type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
The Wasm ABI type that this converts from when coming back out from the
ABI boundary.
§unsafe fn from_abi(
js: <SharedUnlockPeer as FromWasmAbi>::Abi,
) -> SharedUnlockPeer
unsafe fn from_abi( js: <SharedUnlockPeer as FromWasmAbi>::Abi, ) -> SharedUnlockPeer
§type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
The Wasm ABI type that this converts into when crossing the ABI
boundary.
§fn into_abi(self) -> <SharedUnlockPeer as IntoWasmAbi>::Abi
fn into_abi(self) -> <SharedUnlockPeer as IntoWasmAbi>::Abi
Convert
self into Self::Abi so that it can be sent across the wasm
ABI boundary.§type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
Same as
RefFromWasmAbi::Abi§type Anchor = RcRef<SharedUnlockPeer>
type Anchor = RcRef<SharedUnlockPeer>
Same as
RefFromWasmAbi::Anchor§unsafe fn long_ref_from_abi(
js: <SharedUnlockPeer as LongRefFromWasmAbi>::Abi,
) -> <SharedUnlockPeer as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <SharedUnlockPeer as LongRefFromWasmAbi>::Abi, ) -> <SharedUnlockPeer as LongRefFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi§fn is_null(abi: &<SharedUnlockPeer as MaybeFromWasmAbi>::MaybeAbi) -> bool
fn is_null(abi: &<SharedUnlockPeer as MaybeFromWasmAbi>::MaybeAbi) -> bool
Tests the ABI value for
Nullable::Null.§fn null() -> <SharedUnlockPeer as MaybeIntoWasmAbi>::MaybeAbi
fn null() -> <SharedUnlockPeer as MaybeIntoWasmAbi>::MaybeAbi
§fn is_none(abi: &<SharedUnlockPeer as FromWasmAbi>::Abi) -> bool
fn is_none(abi: &<SharedUnlockPeer as FromWasmAbi>::Abi) -> bool
Tests whether the argument is a “none” instance. If so it will be
deserialized as
None, and otherwise it will be passed to
FromWasmAbi.§fn none() -> <SharedUnlockPeer as IntoWasmAbi>::Abi
fn none() -> <SharedUnlockPeer as IntoWasmAbi>::Abi
Returns an ABI instance indicating “none”, which JS will interpret as
the
None branch of this option. Read more§type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
The Wasm ABI type references to
Self are recovered from.§type Anchor = RcRef<SharedUnlockPeer>
type Anchor = RcRef<SharedUnlockPeer>
The type that holds the reference to
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.§unsafe fn ref_from_abi(
js: <SharedUnlockPeer as RefFromWasmAbi>::Abi,
) -> <SharedUnlockPeer as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <SharedUnlockPeer as RefFromWasmAbi>::Abi, ) -> <SharedUnlockPeer as RefFromWasmAbi>::Anchor
§type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
type Abi = WasmPtr<WasmRefCell<SharedUnlockPeer>>
Same as
RefFromWasmAbi::Abi§type Anchor = RcRefMut<SharedUnlockPeer>
type Anchor = RcRefMut<SharedUnlockPeer>
Same as
RefFromWasmAbi::Anchor§unsafe fn ref_mut_from_abi(
js: <SharedUnlockPeer as RefMutFromWasmAbi>::Abi,
) -> <SharedUnlockPeer as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <SharedUnlockPeer as RefMutFromWasmAbi>::Abi, ) -> <SharedUnlockPeer as RefMutFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi§type Wire = SharedUnlockPeer
type Wire = SharedUnlockPeer
The type JavaScript actually receives.
§fn to_wire(self) -> Result<<SharedUnlockPeer as ToWasm>::Wire, WireError>
fn to_wire(self) -> Result<<SharedUnlockPeer as ToWasm>::Wire, WireError>
Converts the Rust value into the wire value.
§fn try_from_js_value(value: JsValue) -> Result<SharedUnlockPeer, JsValue>
fn try_from_js_value(value: JsValue) -> Result<SharedUnlockPeer, JsValue>
Performs the conversion.
§fn try_from_js_value_ref(value: &JsValue) -> Option<SharedUnlockPeer>
fn try_from_js_value_ref(value: &JsValue) -> Option<SharedUnlockPeer>
Performs the conversion.
Source§const NULLABLE: bool = false
const NULLABLE: bool = false
Whether
Self accepts null as a distinct value space, as
Nullable<T> does. An enclosing Option then passes null through
instead of reading it as None, so Option<T> is itself nullable
exactly when T is not. JsValue does not set this: it accepts
null as one value among all of them, not as a distinct space, and
Option<JsValue> reads it as None like the ABI does. This is the
JS-value side of NullableFromWasmAbi, which claims null at the
ABI.type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <SharedUnlockPeer as VectorFromWasmAbi>::Abi, ) -> Box<[SharedUnlockPeer]>
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[SharedUnlockPeer]>, ) -> <SharedUnlockPeer as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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 moreSource§impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
Source§type MaybeAbi = <T as FromWasmAbi>::Abi
type MaybeAbi = <T as FromWasmAbi>::Abi
The ABI of
Option<Self>.Source§unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn try_from_maybe_abi( js: <T as FromWasmAbi>::Abi, ) -> Result<T, &'static str>
Source§impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
Source§type MaybeAbi = <T as IntoWasmAbi>::Abi
type MaybeAbi = <T as IntoWasmAbi>::Abi
The ABI of
Option<Self>.Source§fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
Converts a value into the
Option<Self> ABI.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.