pub trait Resolve:
Send
+ Sync
+ AsAny {
// Required methods
fn resolve<'a>(
&'a self,
address: Address,
this: &'a Arc<dyn Resolve>,
) -> FailFuture<'a, ByteNode>;
fn resolve_data(&self, address: Address) -> FailFuture<'_, Vec<u8>>;
// Provided methods
fn try_resolve_local(
&self,
address: Address,
this: &Arc<dyn Resolve>,
) -> 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> { ... }
}Required Methods§
Sourcefn resolve<'a>(
&'a self,
address: Address,
this: &'a Arc<dyn Resolve>,
) -> FailFuture<'a, ByteNode>
fn resolve<'a>( &'a self, address: Address, this: &'a Arc<dyn Resolve>, ) -> FailFuture<'a, ByteNode>
Resolve the address. For an Object, this is what gets used as PointInput.
fn resolve_data(&self, address: Address) -> FailFuture<'_, Vec<u8>>
Provided Methods§
fn try_resolve_local( &self, address: Address, this: &Arc<dyn Resolve>, ) -> Result<Option<ByteNode>>
Sourcefn resolve_extension(
&self,
address: Address,
typeid: TypeId,
) -> Result<&dyn Any>
fn resolve_extension( &self, address: Address, typeid: TypeId, ) -> Result<&dyn Any>
Get a dynamic extension for a specific Address.