pub trait HolochainP2pDnaT {
Show 15 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<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn get_validation_package<'life0, 'async_trait>(
        &'life0 self,
        request_from: AgentPubKey,
        header_hash: HeaderHash
    ) -> Pin<Box<dyn Future<Output = HolochainP2pResult<ValidationPackageResponse>> + 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<HeaderHash>>>> + 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_authority_response<'life0, 'async_trait>(
        &'life0 self,
        agents: Vec<AgentPubKey>,
        response: Vec<SignedHeader>
    ) -> 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
;
}
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.

Request a validation package.

Get an entry from the DHT.

Get metadata from the DHT.

Get links from the DHT.

Get agent activity from the DHT.

Send a validation receipt to a remote node.

Check if an agent is an authority for a hash.

Response from an authority to agents that are part of a session.

New data has been integrated and is ready for gossiping.

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.