Skip to main content

StoreRegistry

Struct StoreRegistry 

Source
pub struct StoreRegistry { /* private fields */ }
Expand description

StoreRegistry

StoreRegistry owns the generated mapping from schema Store paths to their row, index, and schema store handles. It validates registration invariants once at generated wiring time and then serves cheap immutable lookups during runtime operations.

Implementations§

Source§

impl StoreRegistry

Source

pub fn new() -> Self

Create an empty store registry.

Source

pub fn iter(&self) -> impl Iterator<Item = (&'static str, StoreHandle)>

Iterate registered stores.

Iteration order follows registration order. Semantic result ordering must still not depend on this iteration order; callers that need deterministic ordering must sort by store path.

Source

pub fn register_store( &mut self, name: &'static str, data: &'static LocalKey<RefCell<DataStore>>, index: &'static LocalKey<RefCell<IndexStore>>, schema: &'static LocalKey<RefCell<SchemaStore>>, ) -> Result<(), InternalError>

Register a Store path to its row/index/schema store triplet.

Source

pub fn try_get_store(&self, path: &str) -> Result<StoreHandle, InternalError>

Look up a store handle by path.

Trait Implementations§

Source§

impl Default for StoreRegistry

Source§

fn default() -> StoreRegistry

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V