pub struct CompletionClient { /* private fields */ }Expand description
The Send + Sync handle the WasmCompletionSource
adapter holds. Cloning is cheap (an mpsc Sender clone); every clone talks to
the same actor / Store, so calls serialize on the single-consumer loop.
Implementations§
Source§impl CompletionClient
impl CompletionClient
Sourcepub async fn spec(&self) -> Result<CompletionSourceSpec, PluginHostError>
pub async fn spec(&self) -> Result<CompletionSourceSpec, PluginHostError>
Call the guest’s spec().
Sourcepub async fn generate(
&self,
ctx: GenerateContext,
) -> Result<Result<Vec<RawCandidate>, String>, PluginHostError>
pub async fn generate( &self, ctx: GenerateContext, ) -> Result<Result<Vec<RawCandidate>, String>, PluginHostError>
Call the guest’s generate(ctx). The outer result is the host surface;
the inner Result<_, String> is the guest’s own WIT result (an Err
string is a source that produced no rows — logged, echoed as empty).
Trait Implementations§
Source§impl Clone for CompletionClient
impl Clone for CompletionClient
Source§fn clone(&self) -> CompletionClient
fn clone(&self) -> CompletionClient
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 CompletionClient
impl !UnwindSafe for CompletionClient
impl Freeze for CompletionClient
impl Send for CompletionClient
impl Sync for CompletionClient
impl Unpin for CompletionClient
impl UnsafeUnpin for CompletionClient
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