pub trait HolochainP2pDnaT {
Show 16 methods fn dna_hash(&self) -> DnaHash; 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
; 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
; 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
; 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
; 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
; 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
; 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
; 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
; 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
; 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
; 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
; fn authority_for_hash<'life0, 'async_trait>(
        &'life0 self,
        dht_hash: AnyDhtHash
    ) -> Pin<Box<dyn Future<Output = HolochainP2pResult<bool>> + 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
; 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
; fn chc(&self) -> Option<ChcImpl>;
}
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.

Required Methods

owned getter

The p2p module must be informed at runtime which dna/agent pairs it should be tracking.

If a cell is disabled, we’ll need to "leave" the network module as well.

Invoke a zome function on a remote node (if you have been granted the capability).

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.

Publish data to the correct neighborhood.

Get an entry from the DHT.

Get metadata from the DHT.

Get links from the DHT.

Get agent activity from the DHT.

Get agent deterministic activity from the DHT.

Send a validation receipt to a remote node.

Check if an agent is an authority for a hash.

Messages between agents driving a countersigning session.

New data has been integrated and is ready for gossiping.

Access to the specified CHC

Implementors

A wrapper around HolochainP2pSender that partially applies the dna_hash / agent_pub_key. I.e. a sender that is tied to a specific cell.