Struct holochain_p2p::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
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl HolochainP2pDnaT for HolochainP2pDna
impl HolochainP2pDnaT for HolochainP2pDna
sourcefn join<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
initial_arc: Option<DhtArc>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn join<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
initial_arc: Option<DhtArc>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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: AgentPubKey
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn leave<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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: AgentPubKey,
to_agent: AgentPubKey,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<SerializedBytes>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn call_remote<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
to_agent: AgentPubKey,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<SerializedBytes>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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: AgentPubKey,
to_agent_list: Vec<AgentPubKey>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn remote_signal<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
to_agent_list: Vec<AgentPubKey>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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,
dht_hash: AnyDhtHash,
ops: Vec<DhtOp>,
timeout_ms: Option<u64>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<usize>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn publish<'life0, 'async_trait>(
&'life0 self,
request_validation_receipt: bool,
countersigning_session: bool,
dht_hash: AnyDhtHash,
ops: Vec<DhtOp>,
timeout_ms: Option<u64>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<usize>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Publish data to the correct neighborhood.
sourcefn get<'life0, 'async_trait>(
&'life0 self,
dht_hash: AnyDhtHash,
options: GetOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<WireOps>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get<'life0, 'async_trait>(
&'life0 self,
dht_hash: AnyDhtHash,
options: GetOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<WireOps>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get DhtOp::StoreRecord
or DhtOp::StoreEntry
from the DHT.
sourcefn get_meta<'life0, 'async_trait>(
&'life0 self,
dht_hash: AnyDhtHash,
options: GetMetaOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<MetadataSet>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_meta<'life0, 'async_trait>(
&'life0 self,
dht_hash: AnyDhtHash,
options: GetMetaOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<MetadataSet>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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 = HolochainP2pResult<Vec<WireLinkOps>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_links<'life0, 'async_trait>(
&'life0 self,
link_key: WireLinkKey,
options: GetLinksOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<WireLinkOps>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get links from the DHT.
sourcefn get_agent_activity<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
query: ChainQueryFilter,
options: GetActivityOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<AgentActivityResponse<ActionHash>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_agent_activity<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
query: ChainQueryFilter,
options: GetActivityOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<AgentActivityResponse<ActionHash>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get agent activity from the DHT.
sourcefn send_validation_receipt<'life0, 'async_trait>(
&'life0 self,
to_agent: AgentPubKey,
receipt: SerializedBytes
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn send_validation_receipt<'life0, 'async_trait>(
&'life0 self,
to_agent: AgentPubKey,
receipt: SerializedBytes
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: '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: AgentPubKey,
filter: ChainFilter
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<MustGetAgentActivityResponse>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn must_get_agent_activity<'life0, 'async_trait>(
&'life0 self,
author: AgentPubKey,
filter: ChainFilter
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<MustGetAgentActivityResponse>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get agent deterministic activity from the DHT.
sourcefn countersigning_session_negotiation<'life0, 'async_trait>(
&'life0 self,
agents: Vec<AgentPubKey>,
message: CountersigningSessionNegotiationMessage
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn countersigning_session_negotiation<'life0, 'async_trait>(
&'life0 self,
agents: Vec<AgentPubKey>,
message: CountersigningSessionNegotiationMessage
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Messages between agents driving a countersigning session.
sourcefn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
New data has been integrated and is ready for gossiping.
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
TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745 Read more
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
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>
Deserializes using the given deserializer
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>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn 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>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if 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
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
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>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more