Skip to main content

ContentAddressedFabric

Struct ContentAddressedFabric 

Source
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

Source

pub fn new( node: Symbol, local: Arc<EvalCassette>, peers: Vec<ContentPeer>, ) -> Self

Builds a content-addressed lookup fabric for node.

Source

pub fn with_holding_index(self, holders: Arc<HoldingIndex>) -> Self

Uses holders as this node’s grow-only holder index.

Source

pub fn with_home(self, home: EvalFabricRef) -> Self

Records a home compute fabric handle for the miss path.

Source

pub fn node(&self) -> &Symbol

Returns this node’s stable id.

Source

pub fn local_cassette(&self) -> &Arc<EvalCassette>

Returns the local cassette used for held-content lookup and caching.

Source

pub fn peers(&self) -> &[ContentPeer]

Returns the configured peer list.

Source

pub fn holding_index(&self) -> &Arc<HoldingIndex>

Returns this node’s grow-only holder index.

Trait Implementations§

Source§

impl EvalFabric for ContentAddressedFabric

Source§

fn realize(&self, cx: &mut Cx, request: EvalRequest) -> Result<EvalReply>

Evaluates request and returns its reply.

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, 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.