Struct holochain::prelude::HolochainP2pDna
source · pub struct HolochainP2pDna { /* private fields */ }
Expand description
A wrapper around HolochainP2pSender that partially applies the dna_hash / agent_pub_key. I.e. a sender that is tied to a specific cell.
Trait Implementations
sourceimpl Clone for HolochainP2pDna
impl Clone for HolochainP2pDna
sourcefn clone(&self) -> HolochainP2pDna
fn clone(&self) -> HolochainP2pDna
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl HolochainP2pDnaT for HolochainP2pDna
impl HolochainP2pDnaT for HolochainP2pDna
sourcefn join<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>,
initial_arc: Option<DhtArc>
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn join<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>,
initial_arc: Option<DhtArc>
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
The p2p module must be informed at runtime which dna/agent pairs it should be tracking.
sourcefn leave<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn leave<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
If a cell is disabled, we’ll need to "leave" the network module as well.
sourcefn call_remote<'life0, 'async_trait>(
&'life0 self,
from_agent: HoloHash<Agent>,
to_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = Result<SerializedBytes, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn call_remote<'life0, 'async_trait>(
&'life0 self,
from_agent: HoloHash<Agent>,
to_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = Result<SerializedBytes, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Invoke a zome function on a remote node (if you have been granted the capability).
sourcefn remote_signal<'life0, 'async_trait>(
&'life0 self,
from_agent: HoloHash<Agent>,
to_agent_list: Vec<HoloHash<Agent>, Global>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn remote_signal<'life0, 'async_trait>(
&'life0 self,
from_agent: HoloHash<Agent>,
to_agent_list: Vec<HoloHash<Agent>, Global>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Invoke a zome function on a remote node (if you have been granted the capability). This is a fire-and-forget operation, a best effort will be made to forward the signal, but if the conductor network is overworked it may decide not to deliver some of the signals.
sourcefn publish<'life0, 'async_trait>(
&'life0 self,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: HoloHash<AnyLinkable>,
ops: Vec<DhtOp, Global>,
timeout_ms: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<usize, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn publish<'life0, 'async_trait>(
&'life0 self,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: HoloHash<AnyLinkable>,
ops: Vec<DhtOp, Global>,
timeout_ms: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<usize, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Publish data to the correct neighborhood.
sourcefn get<'life0, 'async_trait>(
&'life0 self,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<WireOps, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn get<'life0, 'async_trait>(
&'life0 self,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<WireOps, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Get DhtOp::StoreRecord
or DhtOp::StoreEntry
from the DHT.
sourcefn get_meta<'life0, 'async_trait>(
&'life0 self,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<MetadataSet, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn get_meta<'life0, 'async_trait>(
&'life0 self,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<MetadataSet, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Get metadata from the DHT.
sourcefn get_links<'life0, 'async_trait>(
&'life0 self,
link_key: WireLinkKey,
options: GetLinksOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<WireLinkOps, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn get_links<'life0, 'async_trait>(
&'life0 self,
link_key: WireLinkKey,
options: GetLinksOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<WireLinkOps, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Get links from the DHT.
sourcefn get_agent_activity<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<AgentActivityResponse<HoloHash<Action>>, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn get_agent_activity<'life0, 'async_trait>(
&'life0 self,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> Pin<Box<dyn Future<Output = Result<Vec<AgentActivityResponse<HoloHash<Action>>, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Get agent activity from the DHT.
sourcefn send_validation_receipt<'life0, 'async_trait>(
&'life0 self,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn send_validation_receipt<'life0, 'async_trait>(
&'life0 self,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
Send a validation receipt to a remote node.
Check if an agent is an authority for a hash.
sourcefn must_get_agent_activity<'life0, 'async_trait>(
&'life0 self,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> Pin<Box<dyn Future<Output = Result<Vec<MustGetAgentActivityResponse, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn must_get_agent_activity<'life0, 'async_trait>(
&'life0 self,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> Pin<Box<dyn Future<Output = Result<Vec<MustGetAgentActivityResponse, Global>, HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
sourcefn countersigning_session_negotiation<'life0, 'async_trait>(
&'life0 self,
agents: Vec<HoloHash<Agent>, Global>,
message: CountersigningSessionNegotiationMessage
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn countersigning_session_negotiation<'life0, 'async_trait>(
&'life0 self,
agents: Vec<HoloHash<Agent>, Global>,
message: CountersigningSessionNegotiationMessage
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
sourcefn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
fn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), HolochainP2pError>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
HolochainP2pDna: 'async_trait,
sourcefn chc(
&self
) -> Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
fn chc(
&self
) -> Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
Auto Trait Implementations
impl !RefUnwindSafe for HolochainP2pDna
impl Send for HolochainP2pDna
impl Sync for HolochainP2pDna
impl Unpin for HolochainP2pDna
impl !UnwindSafe for HolochainP2pDna
Blanket Implementations
impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn 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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
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 morefn 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.impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;