pub struct SupervisorSnapshot {
pub configs: Vec<Arc<ServerConfig>>,
pub actors: HashMap<ActorKey, ServerHandle>,
pub attachments: HashMap<Uri, Vec<ServerHandle>>,
}Expand description
Wait-free read view of supervisor state.
Built by the supervisor’s private build_snapshot helper after every cmd
that mutates state; held in LspSupervisorHandle::snapshot
inside an ArcSwap cell. Readers load_full() and clone
per-field as needed. All fields are public so callers can
project freely without growing the handle’s API.
Fields§
§configs: Vec<Arc<ServerConfig>>Curated config registry. Order is preference order: when multiple configs match a path, all of them attach.
actors: HashMap<ActorKey, ServerHandle>Per-(workspace, server-id) live actor handles. Cloning
is cheap (ServerHandle is Arc<HandleInner> internally).
attachments: HashMap<Uri, Vec<ServerHandle>>Per-URI attachments, pre-resolved to ServerHandles so
servers_for(uri) is one map lookup + one small clone.
Trait Implementations§
Source§impl Clone for SupervisorSnapshot
impl Clone for SupervisorSnapshot
Source§fn clone(&self) -> SupervisorSnapshot
fn clone(&self) -> SupervisorSnapshot
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 moreSource§impl Debug for SupervisorSnapshot
impl Debug for SupervisorSnapshot
Source§impl Default for SupervisorSnapshot
impl Default for SupervisorSnapshot
Source§fn default() -> SupervisorSnapshot
fn default() -> SupervisorSnapshot
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for SupervisorSnapshot
impl Freeze for SupervisorSnapshot
impl Send for SupervisorSnapshot
impl Sync for SupervisorSnapshot
impl Unpin for SupervisorSnapshot
impl UnsafeUnpin for SupervisorSnapshot
impl UnwindSafe for SupervisorSnapshot
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