pub struct TransientClient { /* private fields */ }Expand description
The Send + Sync handle the host adapter holds. Cloning is cheap (an mpsc
Sender clone); every clone talks to the same actor / Store, so calls
serialise on the single-consumer loop the !Sync Store requires.
Dropping the last clone ends the actor loop — the teardown seam.
Implementations§
Source§impl TransientClient
impl TransientClient
Call the guest’s id() — the name the menu registers under. Once, at
load.
Sourcepub async fn build(
&self,
ctx: TransientContext,
) -> Result<Result<TransientSpec, String>, PluginHostError>
pub async fn build( &self, ctx: TransientContext, ) -> Result<Result<TransientSpec, String>, PluginHostError>
Call the guest’s build(ctx).
The outer result is the host surface (trap / gone / quarantined); the
inner Result<_, String> is the guest’s own WIT result. Both mean the
same thing to the caller — the menu does not open and the user is told
why — but they are kept distinct so the echo can say which.
Trait Implementations§
Source§impl Clone for TransientClient
impl Clone for TransientClient
Source§fn clone(&self) -> TransientClient
fn clone(&self) -> TransientClient
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TransientClient
impl !UnwindSafe for TransientClient
impl Freeze for TransientClient
impl Send for TransientClient
impl Sync for TransientClient
impl Unpin for TransientClient
impl UnsafeUnpin for TransientClient
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> 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 more