pub struct ContentAddressedFabric { /* private fields */ }Expand description
Content-addressed lookup fabric over local and peer cassettes.
This presents the fleet as one EvalFabric. Lookup checks the local
cassette first, asks peers announced by the HoldingIndex before falling
back to the configured peer order, records the first immutable reply locally,
and computes on the configured home fabric only when no holder answers.
Callers never select a node or a transport; “routing” is content lookup.
Implementations§
Source§impl ContentAddressedFabric
impl ContentAddressedFabric
Sourcepub fn new(
node: Symbol,
local: Arc<EvalCassette>,
peers: Vec<ContentPeer>,
) -> Self
pub fn new( node: Symbol, local: Arc<EvalCassette>, peers: Vec<ContentPeer>, ) -> Self
Builds a content-addressed lookup fabric for node.
Sourcepub fn with_holding_index(self, holders: Arc<HoldingIndex>) -> Self
pub fn with_holding_index(self, holders: Arc<HoldingIndex>) -> Self
Uses holders as this node’s grow-only holder index.
Sourcepub fn with_home(self, home: EvalFabricRef) -> Self
pub fn with_home(self, home: EvalFabricRef) -> Self
Records a home compute fabric handle for the miss path.
Sourcepub fn local_cassette(&self) -> &Arc<EvalCassette>
pub fn local_cassette(&self) -> &Arc<EvalCassette>
Returns the local cassette used for held-content lookup and caching.
Sourcepub fn peers(&self) -> &[ContentPeer]
pub fn peers(&self) -> &[ContentPeer]
Returns the configured peer list.
Sourcepub fn holding_index(&self) -> &Arc<HoldingIndex>
pub fn holding_index(&self) -> &Arc<HoldingIndex>
Returns this node’s grow-only holder index.
Trait Implementations§
Source§impl EvalFabric for ContentAddressedFabric
impl EvalFabric for ContentAddressedFabric
Auto Trait Implementations§
impl !RefUnwindSafe for ContentAddressedFabric
impl !UnwindSafe for ContentAddressedFabric
impl Freeze for ContentAddressedFabric
impl Send for ContentAddressedFabric
impl Sync for ContentAddressedFabric
impl Unpin for ContentAddressedFabric
impl UnsafeUnpin for ContentAddressedFabric
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