pub struct DaemonState {
pub start_time: Instant,
pub last_activity: Arc<Mutex<Instant>>,
pub project_root: PathBuf,
pub languages: Vec<Language>,
pub pool: Arc<LspMultiplexer>,
pub config_source: ConfigSource,
pub package_roots: Vec<(Language, PathBuf)>,
pub index: Mutex<Option<IndexStore>>,
pub dirty_files: DirtyFiles,
pub watcher_active: bool,
pub diagnostic_store: Arc<DiagnosticStore>,
/* private fields */
}Expand description
Shared daemon state accessible from all connection handlers.
Fields§
§start_time: Instant§last_activity: Arc<Mutex<Instant>>§project_root: PathBuf§languages: Vec<Language>§pool: Arc<LspMultiplexer>§config_source: ConfigSource§package_roots: Vec<(Language, PathBuf)>All discovered workspace roots (for workspace registry).
index: Mutex<Option<IndexStore>>Persistent symbol index for cache-first queries.
dirty_files: DirtyFilesIn-memory set of files changed since last index (fed by file watcher).
watcher_active: boolWhether the file watcher is running (determines BLAKE3 fallback behavior).
diagnostic_store: Arc<DiagnosticStore>LSP diagnostic store — fed by textDocument/publishDiagnostics notifications.
Auto Trait Implementations§
impl !Freeze for DaemonState
impl !RefUnwindSafe for DaemonState
impl Send for DaemonState
impl Sync for DaemonState
impl Unpin for DaemonState
impl UnsafeUnpin for DaemonState
impl !UnwindSafe for DaemonState
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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