pub trait HolochainP2pSender: GhostChannelSender<HolochainP2p> {
Show 19 methods // Provided methods fn join( &self, dna_hash: DnaHash, agent_pub_key: AgentPubKey, maybe_agent_info: Option<AgentInfoSigned>, initial_arc: Option<DhtArc> ) -> HolochainP2pFuture<()> { ... } fn leave( &self, dna_hash: DnaHash, agent_pub_key: AgentPubKey ) -> HolochainP2pFuture<()> { ... } fn call_remote( &self, dna_hash: DnaHash, from_agent: AgentPubKey, signature: Signature, to_agent: AgentPubKey, zome_name: ZomeName, fn_name: FunctionName, cap_secret: Option<CapSecret>, payload: ExternIO, nonce: Nonce256Bits, expires_at: Timestamp ) -> HolochainP2pFuture<SerializedBytes> { ... } fn remote_signal( &self, dna_hash: DnaHash, 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 ) -> HolochainP2pFuture<()> { ... } fn publish( &self, dna_hash: DnaHash, 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>> ) -> HolochainP2pFuture<()> { ... } fn publish_countersign( &self, dna_hash: DnaHash, flag: bool, basis_hash: OpBasis, op: DhtOp ) -> HolochainP2pFuture<()> { ... } fn get( &self, dna_hash: DnaHash, dht_hash: AnyDhtHash, options: GetOptions ) -> HolochainP2pFuture<Vec<WireOps>> { ... } fn get_meta( &self, dna_hash: DnaHash, dht_hash: AnyDhtHash, options: GetMetaOptions ) -> HolochainP2pFuture<Vec<MetadataSet>> { ... } fn get_links( &self, dna_hash: DnaHash, link_key: WireLinkKey, options: GetLinksOptions ) -> HolochainP2pFuture<Vec<WireLinkOps>> { ... } fn count_links( &self, dna_hash: DnaHash, query: WireLinkQuery ) -> HolochainP2pFuture<CountLinksResponse> { ... } fn get_agent_activity( &self, dna_hash: DnaHash, agent: AgentPubKey, query: ChainQueryFilter, options: GetActivityOptions ) -> HolochainP2pFuture<Vec<AgentActivityResponse<ActionHash>>> { ... } fn must_get_agent_activity( &self, dna_hash: DnaHash, author: AgentPubKey, filter: ChainFilter ) -> HolochainP2pFuture<Vec<MustGetAgentActivityResponse>> { ... } fn send_validation_receipts( &self, dna_hash: DnaHash, to_agent: AgentPubKey, receipts: ValidationReceiptBundle ) -> HolochainP2pFuture<()> { ... } fn new_integrated_data(&self, dna_hash: DnaHash) -> HolochainP2pFuture<()> { ... } fn authority_for_hash( &self, dna_hash: DnaHash, basis: OpBasis ) -> HolochainP2pFuture<bool> { ... } fn countersigning_session_negotiation( &self, dna_hash: DnaHash, agents: Vec<AgentPubKey>, message: CountersigningSessionNegotiationMessage ) -> HolochainP2pFuture<()> { ... } fn dump_network_metrics( &self, dna_hash: Option<DnaHash> ) -> HolochainP2pFuture<String> { ... } fn dump_network_stats(&self) -> HolochainP2pFuture<String> { ... } fn get_diagnostics( &self, dna_hash: DnaHash ) -> HolochainP2pFuture<KitsuneDiagnostics> { ... }
}
Expand description

The HolochainP2pSender struct allows controlling the HolochainP2p actor instance.

Provided Methods§

source

fn join( &self, dna_hash: DnaHash, agent_pub_key: AgentPubKey, maybe_agent_info: Option<AgentInfoSigned>, initial_arc: Option<DhtArc> ) -> HolochainP2pFuture<()>

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

source

fn leave( &self, dna_hash: DnaHash, agent_pub_key: AgentPubKey ) -> HolochainP2pFuture<()>

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

source

fn call_remote( &self, dna_hash: DnaHash, from_agent: AgentPubKey, signature: Signature, to_agent: AgentPubKey, zome_name: ZomeName, fn_name: FunctionName, cap_secret: Option<CapSecret>, payload: ExternIO, nonce: Nonce256Bits, expires_at: Timestamp ) -> HolochainP2pFuture<SerializedBytes>

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

source

fn remote_signal( &self, dna_hash: DnaHash, 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 ) -> HolochainP2pFuture<()>

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( &self, dna_hash: DnaHash, 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>> ) -> HolochainP2pFuture<()>

Publish data to the correct neighborhood.

source

fn publish_countersign( &self, dna_hash: DnaHash, flag: bool, basis_hash: OpBasis, op: DhtOp ) -> HolochainP2pFuture<()>

Publish a countersigning op.

source

fn get( &self, dna_hash: DnaHash, dht_hash: AnyDhtHash, options: GetOptions ) -> HolochainP2pFuture<Vec<WireOps>>

Get an entry from the DHT.

source

fn get_meta( &self, dna_hash: DnaHash, dht_hash: AnyDhtHash, options: GetMetaOptions ) -> HolochainP2pFuture<Vec<MetadataSet>>

Get metadata from the DHT.

Get links from the DHT.

Get a count of links from the DHT.

source

fn get_agent_activity( &self, dna_hash: DnaHash, agent: AgentPubKey, query: ChainQueryFilter, options: GetActivityOptions ) -> HolochainP2pFuture<Vec<AgentActivityResponse<ActionHash>>>

Get agent activity from the DHT.

source

fn must_get_agent_activity( &self, dna_hash: DnaHash, author: AgentPubKey, filter: ChainFilter ) -> HolochainP2pFuture<Vec<MustGetAgentActivityResponse>>

A remote node is requesting agent activity from us.

source

fn send_validation_receipts( &self, dna_hash: DnaHash, to_agent: AgentPubKey, receipts: ValidationReceiptBundle ) -> HolochainP2pFuture<()>

Send a validation receipt to a remote node.

source

fn new_integrated_data(&self, dna_hash: DnaHash) -> HolochainP2pFuture<()>

New data has been integrated and is ready for gossiping.

source

fn authority_for_hash( &self, dna_hash: DnaHash, basis: OpBasis ) -> HolochainP2pFuture<bool>

Check if any local agent in this space is an authority for a hash.

source

fn countersigning_session_negotiation( &self, dna_hash: DnaHash, agents: Vec<AgentPubKey>, message: CountersigningSessionNegotiationMessage ) -> HolochainP2pFuture<()>

Messages between agents negotiation a countersigning session.

source

fn dump_network_metrics( &self, dna_hash: Option<DnaHash> ) -> HolochainP2pFuture<String>

Dump network metrics.

source

fn dump_network_stats(&self) -> HolochainP2pFuture<String>

Dump network stats.

source

fn get_diagnostics( &self, dna_hash: DnaHash ) -> HolochainP2pFuture<KitsuneDiagnostics>

Get struct for diagnostic data

Object Safety§

This trait is not object safe.

Implementors§