Skip to main content

Resolve

Trait Resolve 

Source
pub trait Resolve:
    Send
    + Sync
    + AsAny {
    // Required methods
    fn resolve(&self, address: Address) -> FailFuture<'_, ByteNode>;
    fn resolve_data(&self, address: Address) -> FailFuture<'_, Vec<u8>>;

    // Provided methods
    fn try_resolve_local(&self, address: Address) -> Result<Option<ByteNode>> { ... }
    fn resolve_extension(
        &self,
        address: Address,
        typeid: TypeId,
    ) -> Result<&dyn Any> { ... }
    fn extension(&self, typeid: TypeId) -> Result<&dyn Any> { ... }
    fn topology_hash(&self) -> Option<Hash> { ... }
    fn into_topovec(self: Arc<Self>) -> Option<TopoVec> { ... }
}
Expand description

Something that can resolve Addresses to ByteNodes.

Required Methods§

Source

fn resolve(&self, address: Address) -> FailFuture<'_, ByteNode>

Resolve the address. For an Object, this is what gets used as PointInput.

Source

fn resolve_data(&self, address: Address) -> FailFuture<'_, Vec<u8>>

Provided Methods§

Source

fn try_resolve_local(&self, address: Address) -> Result<Option<ByteNode>>

Source

fn resolve_extension( &self, address: Address, typeid: TypeId, ) -> Result<&dyn Any>

Get a dynamic extension for a specific Address.

Source

fn extension(&self, typeid: TypeId) -> Result<&dyn Any>

Get a dynamic extension.

Source

fn topology_hash(&self) -> Option<Hash>

Source

fn into_topovec(self: Arc<Self>) -> Option<TopoVec>

Implementors§