pub struct ContextClient { /* private fields */ }Expand description
The Send + Sync handle a caller holds. Cloning is cheap (an mpsc Sender
clone); every clone talks to the same actor / Store, so calls serialize on
the single-consumer loop the !Sync Store needs.
Implementations§
Source§impl ContextClient
impl ContextClient
Sourcepub async fn produce(
&self,
req: ContextRequest,
tree: Option<Arc<SyntaxSnapshot>>,
) -> Result<Result<Vec<ContextScope>, String>, PluginHostError>
pub async fn produce( &self, req: ContextRequest, tree: Option<Arc<SyntaxSnapshot>>, ) -> Result<Result<Vec<ContextScope>, String>, PluginHostError>
Call the guest’s context-scopes(req, tree). The outer result is the
host surface; the inner Result<_, String> is the guest’s own WIT
result (an Err string means this refresh produced nothing — logged,
and the caller KEEPS the buffer’s prior cached scopes).
Trait Implementations§
Source§impl Clone for ContextClient
impl Clone for ContextClient
Source§fn clone(&self) -> ContextClient
fn clone(&self) -> ContextClient
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 ContextClient
impl !UnwindSafe for ContextClient
impl Freeze for ContextClient
impl Send for ContextClient
impl Sync for ContextClient
impl Unpin for ContextClient
impl UnsafeUnpin for ContextClient
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