pub struct MediaClient { /* private fields */ }Expand description
The Send + Sync handle a caller holds. Cloning is cheap; every clone talks
to the same actor / Store, so calls serialise on the single-consumer loop
the !Sync Store requires.
Implementations§
Source§impl MediaClient
impl MediaClient
pub fn id(&self) -> PluginId
Sourcepub async fn produce(
&self,
ctx: DecorationContext,
text: String,
) -> Result<Result<Vec<MediaBlock>, String>, PluginHostError>
pub async fn produce( &self, ctx: DecorationContext, text: String, ) -> Result<Result<Vec<MediaBlock>, String>, PluginHostError>
Call the guest’s media-blocks(ctx).
The outer result is the host surface (trap / gone / quarantined); the
inner Result<_, String> is the guest’s own WIT result. An Err
string means the provider produced nothing this trigger — it is logged
and the buffer KEEPS its prior blocks, so a transient failure mid-edit
does not make every image in the document blink out.
Trait Implementations§
Source§impl Clone for MediaClient
impl Clone for MediaClient
Source§fn clone(&self) -> MediaClient
fn clone(&self) -> MediaClient
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 MediaClient
impl !UnwindSafe for MediaClient
impl Freeze for MediaClient
impl Send for MediaClient
impl Sync for MediaClient
impl Unpin for MediaClient
impl UnsafeUnpin for MediaClient
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