pub struct Spaces { /* private fields */ }
Expand description
This is the set of all current
DnaHash
spaces for all cells
installed on this conductor.
Implementations§
source§impl Spaces
impl Spaces
sourcepub fn new(config: &ConductorConfig) -> ConductorResult<Self>
pub fn new(config: &ConductorConfig) -> ConductorResult<Self>
Create a new empty set of DnaHash
spaces.
sourcepub async fn block(&self, input: Block) -> DatabaseResult<()>
pub async fn block(&self, input: Block) -> DatabaseResult<()>
Block some target.
sourcepub async fn unblock(&self, input: Block) -> DatabaseResult<()>
pub async fn unblock(&self, input: Block) -> DatabaseResult<()>
Unblock some target.
sourcepub async fn is_blocked(
&self,
target_id: BlockTargetId,
timestamp: Timestamp
) -> DatabaseResult<bool>
pub async fn is_blocked( &self, target_id: BlockTargetId, timestamp: Timestamp ) -> DatabaseResult<bool>
Check if some target is blocked.
sourcepub async fn get_state(&self) -> ConductorResult<ConductorState>
pub async fn get_state(&self) -> ConductorResult<ConductorState>
Get the holochain conductor state
sourcepub async fn update_state<F>(&self, f: F) -> ConductorResult<ConductorState>where
F: FnOnce(ConductorState) -> ConductorResult<ConductorState> + 'static + Send,
pub async fn update_state<F>(&self, f: F) -> ConductorResult<ConductorState>where F: FnOnce(ConductorState) -> ConductorResult<ConductorState> + 'static + Send,
Update the internal state with a pure function mapping old state to new
sourcepub async fn update_state_prime<F, O>(
&self,
f: F
) -> ConductorResult<(ConductorState, O)>where
F: FnOnce(ConductorState) -> ConductorResult<(ConductorState, O)> + Send + 'static,
O: Send + 'static,
pub async fn update_state_prime<F, O>( &self, f: F ) -> ConductorResult<(ConductorState, O)>where F: FnOnce(ConductorState) -> ConductorResult<(ConductorState, O)> + Send + 'static, O: Send + 'static,
Update the internal state with a pure function mapping old state to new, which may also produce an output value which will be the output of this function
sourcepub fn get_from_spaces<R, F: FnMut(&Space) -> R>(&self, f: F) -> Vec<R>
pub fn get_from_spaces<R, F: FnMut(&Space) -> R>(&self, f: F) -> Vec<R>
Get something from every space
sourcepub fn get_or_create_space(&self, dna_hash: &DnaHash) -> DatabaseResult<Space>
pub fn get_or_create_space(&self, dna_hash: &DnaHash) -> DatabaseResult<Space>
Get the space if it exists or create it if it doesn’t.
sourcepub fn cache(&self, dna_hash: &DnaHash) -> DatabaseResult<DbWrite<DbKindCache>>
pub fn cache(&self, dna_hash: &DnaHash) -> DatabaseResult<DbWrite<DbKindCache>>
Get the cache database (this will create the space if it doesn’t already exist).
Get the authored database (this will create the space if it doesn’t already exist).
sourcepub fn dht_db(&self, dna_hash: &DnaHash) -> DatabaseResult<DbWrite<DbKindDht>>
pub fn dht_db(&self, dna_hash: &DnaHash) -> DatabaseResult<DbWrite<DbKindDht>>
Get the dht database (this will create the space if it doesn’t already exist).
sourcepub fn p2p_agents_db(
&self,
dna_hash: &DnaHash
) -> DatabaseResult<DbWrite<DbKindP2pAgents>>
pub fn p2p_agents_db( &self, dna_hash: &DnaHash ) -> DatabaseResult<DbWrite<DbKindP2pAgents>>
Get the peer database (this will create the space if it doesn’t already exist).
sourcepub fn p2p_metrics_db(
&self,
dna_hash: &DnaHash
) -> DatabaseResult<DbWrite<DbKindP2pMetrics>>
pub fn p2p_metrics_db( &self, dna_hash: &DnaHash ) -> DatabaseResult<DbWrite<DbKindP2pMetrics>>
Get the peer database (this will create the space if it doesn’t already exist).
sourcepub fn p2p_batch_sender(
&self,
dna_hash: &DnaHash
) -> DatabaseResult<Sender<P2pBatch>>
pub fn p2p_batch_sender( &self, dna_hash: &DnaHash ) -> DatabaseResult<Sender<P2pBatch>>
Get the batch sender (this will create the space if it doesn’t already exist).
sourcepub async fn handle_query_op_hashes(
&self,
dna_hash: &DnaHash,
dht_arc_set: DhtArcSet,
window: TimeWindow,
max_ops: usize,
include_limbo: bool
) -> ConductorResult<Option<(Vec<DhtOpHash>, TimeWindowInclusive)>>
pub async fn handle_query_op_hashes( &self, dna_hash: &DnaHash, dht_arc_set: DhtArcSet, window: TimeWindow, max_ops: usize, include_limbo: bool ) -> ConductorResult<Option<(Vec<DhtOpHash>, TimeWindowInclusive)>>
the network module is requesting a list of dht op hashes
Get the DhtOpHash
es and authored timestamps for a given time window.
sourcepub async fn handle_fetch_op_data(
&self,
dna_hash: &DnaHash,
query: FetchOpDataQuery
) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
pub async fn handle_fetch_op_data( &self, dna_hash: &DnaHash, query: FetchOpDataQuery ) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
The network module is requesting the content for dht ops
sourcepub async fn handle_fetch_op_data_by_regions(
&self,
dna_hash: &DnaHash,
regions: Vec<RegionBounds>
) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
pub async fn handle_fetch_op_data_by_regions( &self, dna_hash: &DnaHash, regions: Vec<RegionBounds> ) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
The network module is requesting the content for dht ops
sourcepub async fn handle_fetch_op_data_by_hashes(
&self,
dna_hash: &DnaHash,
op_hashes: Vec<DhtOpHash>,
include_limbo: bool
) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
pub async fn handle_fetch_op_data_by_hashes( &self, dna_hash: &DnaHash, op_hashes: Vec<DhtOpHash>, include_limbo: bool ) -> ConductorResult<Vec<(DhtOpHash, DhtOp)>>
The network module is requesting the content for dht ops
sourcepub async fn handle_publish(
&self,
dna_hash: &DnaHash,
request_validation_receipt: bool,
countersigning_session: bool,
ops: Vec<DhtOp>
) -> ConductorResult<()>
pub async fn handle_publish( &self, dna_hash: &DnaHash, request_validation_receipt: bool, countersigning_session: bool, ops: Vec<DhtOp> ) -> ConductorResult<()>
we are receiving a “publish” event from the network
sourcepub fn recent_threshold(&self) -> Duration
pub fn recent_threshold(&self) -> Duration
Get the recent_threshold based on the kitsune network config
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Spaces
impl Send for Spaces
impl Sync for Spaces
impl Unpin for Spaces
impl !UnwindSafe for Spaces
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.