pub struct MetadataEngine {
pub variable_registry: Arc<VariableRegistry>,
pub scope_tracker: Arc<ScopeTracker>,
pub thread_registry: Arc<ThreadRegistry>,
}Expand description
Metadata Engine - Centralized metadata management
The MetadataEngine is responsible for managing all metadata in the system including variables, scopes, threads, types, and pointers. It provides a unified interface for accessing and updating metadata.
Key properties:
- Centralized: Single source of truth for all metadata
- Thread-safe: All operations are thread-safe via Arc
- Efficient: Optimized for fast lookups and updates
Fields§
§variable_registry: Arc<VariableRegistry>Variable registry
scope_tracker: Arc<ScopeTracker>Scope tracker
thread_registry: Arc<ThreadRegistry>Thread registry
Implementations§
Source§impl MetadataEngine
impl MetadataEngine
Sourcepub fn variables(&self) -> &Arc<VariableRegistry>
pub fn variables(&self) -> &Arc<VariableRegistry>
Get the variable registry
Sourcepub fn scopes(&self) -> &Arc<ScopeTracker>
pub fn scopes(&self) -> &Arc<ScopeTracker>
Get the scope tracker
Sourcepub fn threads(&self) -> &Arc<ThreadRegistry>
pub fn threads(&self) -> &Arc<ThreadRegistry>
Get the thread registry
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MetadataEngine
impl RefUnwindSafe for MetadataEngine
impl Send for MetadataEngine
impl Sync for MetadataEngine
impl Unpin for MetadataEngine
impl UnsafeUnpin for MetadataEngine
impl UnwindSafe for MetadataEngine
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