Trait kitsune_p2p::KitsuneHost
source · [−]pub trait KitsuneHost: 'static + Send + Sync {
fn get_agent_info_signed(
&self,
input: GetAgentInfoSignedEvt
) -> KitsuneHostResult<'_, Option<AgentInfoSigned>>;
fn peer_extrapolated_coverage(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: DhtArcSet
) -> KitsuneHostResult<'_, Vec<f64>>;
fn query_region_set(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: Arc<DhtArcSet>
) -> KitsuneHostResult<'_, RegionSetLtcs>;
fn query_size_limited_regions(
&self,
space: Arc<KitsuneSpace>,
size_limit: u32,
regions: Vec<Region>
) -> KitsuneHostResult<'_, Vec<Region>>;
fn record_metrics(
&self,
space: Arc<KitsuneSpace>,
records: Vec<MetricRecord>
) -> KitsuneHostResult<'_, ()>;
fn get_topology(
&self,
space: Arc<KitsuneSpace>
) -> KitsuneHostResult<'_, Topology>;
}
Expand description
The interface to be implemented by the host, which handles various requests for data
Required Methods
fn get_agent_info_signed(
&self,
input: GetAgentInfoSignedEvt
) -> KitsuneHostResult<'_, Option<AgentInfoSigned>>
fn get_agent_info_signed(
&self,
input: GetAgentInfoSignedEvt
) -> KitsuneHostResult<'_, Option<AgentInfoSigned>>
We need to get previously stored agent info.
fn peer_extrapolated_coverage(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: DhtArcSet
) -> KitsuneHostResult<'_, Vec<f64>>
fn peer_extrapolated_coverage(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: DhtArcSet
) -> KitsuneHostResult<'_, Vec<f64>>
Extrapolated Peer Coverage
fn query_region_set(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: Arc<DhtArcSet>
) -> KitsuneHostResult<'_, RegionSetLtcs>
fn query_region_set(
&self,
space: Arc<KitsuneSpace>,
dht_arc_set: Arc<DhtArcSet>
) -> KitsuneHostResult<'_, RegionSetLtcs>
Query aggregate dht op data to form an LTCS set of region data
fn query_size_limited_regions(
&self,
space: Arc<KitsuneSpace>,
size_limit: u32,
regions: Vec<Region>
) -> KitsuneHostResult<'_, Vec<Region>>
fn query_size_limited_regions(
&self,
space: Arc<KitsuneSpace>,
size_limit: u32,
regions: Vec<Region>
) -> KitsuneHostResult<'_, Vec<Region>>
Given an input list of regions, return a list of equal or greater length
such that each region’s size is less than the size_limit
, by recursively
subdividing regions which are over the size limit.
fn record_metrics(
&self,
space: Arc<KitsuneSpace>,
records: Vec<MetricRecord>
) -> KitsuneHostResult<'_, ()>
fn record_metrics(
&self,
space: Arc<KitsuneSpace>,
records: Vec<MetricRecord>
) -> KitsuneHostResult<'_, ()>
Record a set of metric records
fn get_topology(
&self,
space: Arc<KitsuneSpace>
) -> KitsuneHostResult<'_, Topology>
fn get_topology(
&self,
space: Arc<KitsuneSpace>
) -> KitsuneHostResult<'_, Topology>
Get the quantum Topology associated with this Space