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§
source§impl Clone for HolochainP2pDna
impl Clone for HolochainP2pDna
source§fn clone(&self) -> HolochainP2pDna
fn clone(&self) -> HolochainP2pDna
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl From<HolochainP2pDna> for GenericNetwork
impl From<HolochainP2pDna> for GenericNetwork
source§fn from(value: HolochainP2pDna) -> Self
fn from(value: HolochainP2pDna) -> Self
source§impl HolochainP2pDnaT for HolochainP2pDna
impl HolochainP2pDnaT for HolochainP2pDna
source§fn join<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
maybe_agent_info: Option<AgentInfoSigned>,
initial_arq: Option<Arq>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn join<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey,
maybe_agent_info: Option<AgentInfoSigned>,
initial_arq: Option<Arq>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
The p2p module must be informed at runtime which dna/agent pairs it should be tracking.
source§fn leave<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn leave<'life0, 'async_trait>(
&'life0 self,
agent: AgentPubKey
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
If a cell is disabled, we’ll need to "leave" the network module as well.
source§fn call_remote<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
from_signature: Signature,
to_agent: AgentPubKey,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO,
nonce: Nonce256Bits,
expires_at: Timestamp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<SerializedBytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn call_remote<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
from_signature: Signature,
to_agent: AgentPubKey,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO,
nonce: Nonce256Bits,
expires_at: Timestamp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<SerializedBytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Invoke a zome function on a remote node (if you have been granted the capability).
source§fn send_remote_signal<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
to_agent_list: Vec<(Signature, AgentPubKey)>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO,
nonce: Nonce256Bits,
expires_at: Timestamp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_remote_signal<'life0, 'async_trait>(
&'life0 self,
from_agent: AgentPubKey,
to_agent_list: Vec<(Signature, AgentPubKey)>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO,
nonce: Nonce256Bits,
expires_at: Timestamp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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.
source§fn publish<'life0, 'async_trait>(
&'life0 self,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: OpBasis,
source: AgentPubKey,
op_hash_list: Vec<OpHashSized>,
timeout_ms: Option<u64>,
reflect_ops: Option<Vec<DhtOp>>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn publish<'life0, 'async_trait>(
&'life0 self,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: OpBasis,
source: AgentPubKey,
op_hash_list: Vec<OpHashSized>,
timeout_ms: Option<u64>,
reflect_ops: Option<Vec<DhtOp>>
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Publish data to the correct neighborhood.
source§fn publish_countersign<'life0, 'async_trait>(
&'life0 self,
flag: bool,
basis_hash: OpBasis,
op: DhtOp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn publish_countersign<'life0, 'async_trait>(
&'life0 self,
flag: bool,
basis_hash: OpBasis,
op: DhtOp
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Publish a countersigning op.
source§fn get<'life0, 'async_trait>(
&'life0 self,
dht_hash: AnyDhtHash,
options: GetOptions
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<Vec<WireOps>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Get DhtOp::StoreRecord
or DhtOp::StoreEntry
from the DHT.
source§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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Get metadata from the DHT.
source§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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Get links from the DHT.
source§fn count_links<'life0, 'async_trait>(
&'life0 self,
query: WireLinkQuery
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<CountLinksResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_links<'life0, 'async_trait>(
&'life0 self,
query: WireLinkQuery
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<CountLinksResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a count of links from the DHT.
source§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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Get agent activity from the DHT.
source§fn send_validation_receipts<'life0, 'async_trait>(
&'life0 self,
to_agent: AgentPubKey,
receipts: ValidationReceiptBundle
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_validation_receipts<'life0, 'async_trait>(
&'life0 self,
to_agent: AgentPubKey,
receipts: ValidationReceiptBundle
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a validation receipt to a remote node.
Check if an agent is an authority for a hash.
source§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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
source§fn countersigning_session_negotiation<'life0, 'async_trait>(
&'life0 self,
agents: Vec<AgentPubKey>,
message: CountersigningSessionNegotiationMessage
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
source§fn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn new_integrated_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for HolochainP2pDna
impl !RefUnwindSafe for HolochainP2pDna
impl Send for HolochainP2pDna
impl Sync for HolochainP2pDna
impl Unpin for HolochainP2pDna
impl !UnwindSafe for HolochainP2pDna
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
source§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
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§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>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§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).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.