Trait holochain_p2p::HolochainP2pCellT[][src]

pub trait HolochainP2pCellT {
Show 16 methods fn dna_hash(&self) -> DnaHash;
fn from_agent(&self) -> AgentPubKey;
fn join<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn leave<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = HolochainP2pResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn call_remote<'life0, 'async_trait>(
        &'life0 self,
        to_agent: AgentPubKey,
        zome_name: ZomeName,
        fn_name: FunctionName,
        cap: Option<CapSecret>,
        payload: ExternIO
    ) -> Pin<Box<dyn Future<Output = HolochainP2pResult<SerializedBytes>> + 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<(DhtOpHash, 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
; fn cell_id(&self) -> CellId { ... }
}
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

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).

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.

Provided methods

Construct the CellId from the defined DnaHash and AgentPubKey

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.