Struct holochain::prelude::dependencies::kitsune_p2p_types::dependencies::ghost_actor::GhostSender
source · pub struct GhostSender<E>(_, _)
where
E: GhostEvent;
Expand description
A provided GhostSender (impl GhostChannelSender) implementation.
Trait Implementations
sourceimpl<E> Clone for GhostSender<E>where
E: GhostEvent,
impl<E> Clone for GhostSender<E>where
E: GhostEvent,
sourcefn clone(&self) -> GhostSender<E>
fn clone(&self) -> GhostSender<E>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl<E> GhostChannelSender<E> for GhostSender<E>where
E: GhostEvent,
impl<E> GhostChannelSender<E> for GhostSender<E>where
E: GhostEvent,
sourcefn ghost_actor_channel_send(
&self,
event: E
) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
fn ghost_actor_channel_send(
&self,
event: E
) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
Forward a GhostEvent along this channel.
sourceimpl<E> GhostControlSender<E> for GhostSender<E>where
E: GhostEvent,
impl<E> GhostControlSender<E> for GhostSender<E>where
E: GhostEvent,
sourcefn ghost_actor_shutdown(&self) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
fn ghost_actor_shutdown(&self) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
Shutdown the actor once all pending messages have been processed.
Future completes when the actor is shutdown. Read more
sourcefn ghost_actor_shutdown_immediate(
&self
) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
fn ghost_actor_shutdown_immediate(
&self
) -> MustBoxFuture<'static, Result<(), GhostError>> ⓘ
Shutdown the actor immediately. All pending tasks will error.
sourcefn ghost_actor_is_active(&self) -> bool
fn ghost_actor_is_active(&self) -> bool
Returns true if the receiving actor is still running.
sourceimpl<E> Hash for GhostSender<E>where
E: GhostEvent,
impl<E> Hash for GhostSender<E>where
E: GhostEvent,
sourceimpl HolochainP2pRefToDna for GhostSender<HolochainP2p>
impl HolochainP2pRefToDna for GhostSender<HolochainP2p>
sourcefn into_dna(
self,
dna_hash: HoloHash<Dna>,
chc: Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
) -> HolochainP2pDna
fn into_dna(
self,
dna_hash: HoloHash<Dna>,
chc: Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
) -> HolochainP2pDna
Partially apply dna_hash && agent_pub_key to this sender,
binding it to a specific dna context. Read more
sourcefn to_dna(
&self,
dna_hash: HoloHash<Dna>,
chc: Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
) -> HolochainP2pDna
fn to_dna(
&self,
dna_hash: HoloHash<Dna>,
chc: Option<Arc<dyn ChainHeadCoordinator<Item = SignedHashed<Action>> + Sync + Send + 'static>>
) -> HolochainP2pDna
Clone and partially apply dna_hash && agent_pub_key to this sender,
binding it to a specific dna context. Read more
sourceimpl<E> PartialEq<GhostSender<E>> for GhostSender<E>where
E: GhostEvent,
impl<E> PartialEq<GhostSender<E>> for GhostSender<E>where
E: GhostEvent,
sourcefn eq(&self, o: &GhostSender<E>) -> bool
fn eq(&self, o: &GhostSender<E>) -> bool
impl<E> Eq for GhostSender<E>where
E: GhostEvent,
Auto Trait Implementations
impl<E> !RefUnwindSafe for GhostSender<E>
impl<E> Send for GhostSender<E>
impl<E> Sync for GhostSender<E>
impl<E> Unpin for GhostSender<E>
impl<E> !UnwindSafe for GhostSender<E>
Blanket Implementations
impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove
Any::type_id_compat and use StdAny::type_id instead.
https://github.com/rust-lang/rust/issues/27745 Read more
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
sourceimpl<S> HolochainP2pEventSender for Swhere
S: GhostChannelSender<HolochainP2pEvent>,
impl<S> HolochainP2pEventSender for Swhere
S: GhostChannelSender<HolochainP2pEvent>,
sourcefn put_agent_info_signed(
&self,
dna_hash: HoloHash<Dna>,
peer_data: Vec<AgentInfoSigned, Global>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn put_agent_info_signed(
&self,
dna_hash: HoloHash<Dna>,
peer_data: Vec<AgentInfoSigned, Global>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
We need to store signed agent info.
sourcefn query_agent_info_signed(
&self,
dna_hash: HoloHash<Dna>,
agents: Option<HashSet<Arc<KitsuneAgent>, RandomState>>,
kitsune_space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
fn query_agent_info_signed(
&self,
dna_hash: HoloHash<Dna>,
agents: Option<HashSet<Arc<KitsuneAgent>, RandomState>>,
kitsune_space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
We need to get previously stored agent info.
sourcefn query_gossip_agents(
&self,
dna_hash: HoloHash<Dna>,
agents: Option<Vec<HoloHash<Agent>, Global>>,
kitsune_space: Arc<KitsuneSpace>,
since_ms: u64,
until_ms: u64,
arc_set: Arc<DhtArcSet>
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
fn query_gossip_agents(
&self,
dna_hash: HoloHash<Dna>,
agents: Option<Vec<HoloHash<Agent>, Global>>,
kitsune_space: Arc<KitsuneSpace>,
since_ms: u64,
until_ms: u64,
arc_set: Arc<DhtArcSet>
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
We need to get agents that fit into an arc set for gossip.
sourcefn query_agent_info_signed_near_basis(
&self,
dna_hash: HoloHash<Dna>,
kitsune_space: Arc<KitsuneSpace>,
basis_loc: u32,
limit: u32
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
fn query_agent_info_signed_near_basis(
&self,
dna_hash: HoloHash<Dna>,
kitsune_space: Arc<KitsuneSpace>,
basis_loc: u32,
limit: u32
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, HolochainP2pError>> ⓘ
query agent info in order of closeness to a basis location.
sourcefn query_peer_density(
&self,
dna_hash: HoloHash<Dna>,
kitsune_space: Arc<KitsuneSpace>,
dht_arc: DhtArc
) -> MustBoxFuture<'static, Result<PeerView, HolochainP2pError>> ⓘ
fn query_peer_density(
&self,
dna_hash: HoloHash<Dna>,
kitsune_space: Arc<KitsuneSpace>,
dht_arc: DhtArc
) -> MustBoxFuture<'static, Result<PeerView, HolochainP2pError>> ⓘ
Query the peer density of a space for a given [
DhtArc
].sourcefn call_remote(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
from_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<SerializedBytes, HolochainP2pError>> ⓘ
fn call_remote(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
from_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<SerializedBytes, HolochainP2pError>> ⓘ
A remote node is attempting to make a remote call on us.
sourcefn publish(
&self,
dna_hash: HoloHash<Dna>,
request_validation_receipt: bool,
countersigning_session: bool,
ops: Vec<DhtOp, Global>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn publish(
&self,
dna_hash: HoloHash<Dna>,
request_validation_receipt: bool,
countersigning_session: bool,
ops: Vec<DhtOp, Global>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
A remote node is publishing data in a range we claim to be holding.
sourcefn get(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> MustBoxFuture<'static, Result<WireOps, HolochainP2pError>> ⓘ
fn get(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> MustBoxFuture<'static, Result<WireOps, HolochainP2pError>> ⓘ
A remote node is requesting entry data from us.
sourcefn get_meta(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> MustBoxFuture<'static, Result<MetadataSet, HolochainP2pError>> ⓘ
fn get_meta(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> MustBoxFuture<'static, Result<MetadataSet, HolochainP2pError>> ⓘ
A remote node is requesting metadata from us.
sourcefn get_links(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
link_key: WireLinkKey,
options: GetLinksOptions
) -> MustBoxFuture<'static, Result<WireLinkOps, HolochainP2pError>> ⓘ
fn get_links(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
link_key: WireLinkKey,
options: GetLinksOptions
) -> MustBoxFuture<'static, Result<WireLinkOps, HolochainP2pError>> ⓘ
A remote node is requesting link data from us.
sourcefn get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> MustBoxFuture<'static, Result<AgentActivityResponse<HoloHash<Action>>, HolochainP2pError>> ⓘ
fn get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> MustBoxFuture<'static, Result<AgentActivityResponse<HoloHash<Action>>, HolochainP2pError>> ⓘ
A remote node is requesting agent activity from us.
sourcefn must_get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> MustBoxFuture<'static, Result<MustGetAgentActivityResponse, HolochainP2pError>> ⓘ
fn must_get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> MustBoxFuture<'static, Result<MustGetAgentActivityResponse, HolochainP2pError>> ⓘ
A remote node is requesting agent activity from us.
sourcefn validation_receipt_received(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn validation_receipt_received(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
A remote node has sent us a validation receipt.
sourcefn query_op_hashes(
&self,
dna_hash: HoloHash<Dna>,
arc_set: DhtArcSet,
window: Range<Timestamp>,
max_ops: usize,
include_limbo: bool
) -> MustBoxFuture<'static, Result<Option<(Vec<HoloHash<DhtOp>, Global>, RangeInclusive<Timestamp>)>, HolochainP2pError>> ⓘ
fn query_op_hashes(
&self,
dna_hash: HoloHash<Dna>,
arc_set: DhtArcSet,
window: Range<Timestamp>,
max_ops: usize,
include_limbo: bool
) -> MustBoxFuture<'static, Result<Option<(Vec<HoloHash<DhtOp>, Global>, RangeInclusive<Timestamp>)>, HolochainP2pError>> ⓘ
The p2p module wishes to query our DhtOpHash store.
Gets all ops from a set of agents within a time window
and max number of ops.
Returns the actual time window of returned ops as well. Read more
sourcefn fetch_op_data(
&self,
dna_hash: HoloHash<Dna>,
query: FetchOpDataQuery
) -> MustBoxFuture<'static, Result<Vec<(HoloHash<DhtOp>, DhtOp), Global>, HolochainP2pError>> ⓘ
fn fetch_op_data(
&self,
dna_hash: HoloHash<Dna>,
query: FetchOpDataQuery
) -> MustBoxFuture<'static, Result<Vec<(HoloHash<DhtOp>, DhtOp), Global>, HolochainP2pError>> ⓘ
The p2p module needs access to the content for a given set of DhtOpHashes.
sourcefn sign_network_data(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
data: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<Signature, HolochainP2pError>> ⓘ
fn sign_network_data(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
data: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<Signature, HolochainP2pError>> ⓘ
P2p operations require cryptographic signatures and validation.
sourcefn countersigning_session_negotiation(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
message: CountersigningSessionNegotiationMessage
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn countersigning_session_negotiation(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
message: CountersigningSessionNegotiationMessage
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
Messages between agents that drive a countersigning session.
sourceimpl<S> HolochainP2pSender for Swhere
S: GhostChannelSender<HolochainP2p>,
impl<S> HolochainP2pSender for Swhere
S: GhostChannelSender<HolochainP2p>,
sourcefn join(
&self,
dna_hash: HoloHash<Dna>,
agent_pub_key: HoloHash<Agent>,
initial_arc: Option<DhtArc>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn join(
&self,
dna_hash: HoloHash<Dna>,
agent_pub_key: HoloHash<Agent>,
initial_arc: Option<DhtArc>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
The p2p module must be informed at runtime which dna/agent pairs it should be tracking.
sourcefn leave(
&self,
dna_hash: HoloHash<Dna>,
agent_pub_key: HoloHash<Agent>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn leave(
&self,
dna_hash: HoloHash<Dna>,
agent_pub_key: HoloHash<Agent>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
If a cell is disabled, we’ll need to "leave" the network module as well.
sourcefn call_remote(
&self,
dna_hash: HoloHash<Dna>,
from_agent: HoloHash<Agent>,
to_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<SerializedBytes, HolochainP2pError>> ⓘ
fn call_remote(
&self,
dna_hash: HoloHash<Dna>,
from_agent: HoloHash<Agent>,
to_agent: HoloHash<Agent>,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<SerializedBytes, HolochainP2pError>> ⓘ
Invoke a zome function on a remote node (if you have been granted the capability).
sourcefn remote_signal(
&self,
dna_hash: HoloHash<Dna>,
from_agent: HoloHash<Agent>,
to_agent_list: Vec<HoloHash<Agent>, Global>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn remote_signal(
&self,
dna_hash: HoloHash<Dna>,
from_agent: HoloHash<Agent>,
to_agent_list: Vec<HoloHash<Agent>, Global>,
zome_name: ZomeName,
fn_name: FunctionName,
cap: Option<CapSecret>,
payload: ExternIO
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
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. Read more
sourcefn publish(
&self,
dna_hash: HoloHash<Dna>,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: HoloHash<AnyLinkable>,
ops: Vec<DhtOp, Global>,
timeout_ms: Option<u64>
) -> MustBoxFuture<'static, Result<usize, HolochainP2pError>> ⓘ
fn publish(
&self,
dna_hash: HoloHash<Dna>,
request_validation_receipt: bool,
countersigning_session: bool,
basis_hash: HoloHash<AnyLinkable>,
ops: Vec<DhtOp, Global>,
timeout_ms: Option<u64>
) -> MustBoxFuture<'static, Result<usize, HolochainP2pError>> ⓘ
Publish data to the correct neighborhood.
sourcefn get(
&self,
dna_hash: HoloHash<Dna>,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> MustBoxFuture<'static, Result<Vec<WireOps, Global>, HolochainP2pError>> ⓘ
fn get(
&self,
dna_hash: HoloHash<Dna>,
dht_hash: HoloHash<AnyDht>,
options: GetOptions
) -> MustBoxFuture<'static, Result<Vec<WireOps, Global>, HolochainP2pError>> ⓘ
Get an entry from the DHT.
sourcefn get_meta(
&self,
dna_hash: HoloHash<Dna>,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> MustBoxFuture<'static, Result<Vec<MetadataSet, Global>, HolochainP2pError>> ⓘ
fn get_meta(
&self,
dna_hash: HoloHash<Dna>,
dht_hash: HoloHash<AnyDht>,
options: GetMetaOptions
) -> MustBoxFuture<'static, Result<Vec<MetadataSet, Global>, HolochainP2pError>> ⓘ
Get metadata from the DHT.
sourcefn get_links(
&self,
dna_hash: HoloHash<Dna>,
link_key: WireLinkKey,
options: GetLinksOptions
) -> MustBoxFuture<'static, Result<Vec<WireLinkOps, Global>, HolochainP2pError>> ⓘ
fn get_links(
&self,
dna_hash: HoloHash<Dna>,
link_key: WireLinkKey,
options: GetLinksOptions
) -> MustBoxFuture<'static, Result<Vec<WireLinkOps, Global>, HolochainP2pError>> ⓘ
Get links from the DHT.
sourcefn get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> MustBoxFuture<'static, Result<Vec<AgentActivityResponse<HoloHash<Action>>, Global>, HolochainP2pError>> ⓘ
fn get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
agent: HoloHash<Agent>,
query: ChainQueryFilter,
options: GetActivityOptions
) -> MustBoxFuture<'static, Result<Vec<AgentActivityResponse<HoloHash<Action>>, Global>, HolochainP2pError>> ⓘ
Get agent activity from the DHT.
sourcefn must_get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> MustBoxFuture<'static, Result<Vec<MustGetAgentActivityResponse, Global>, HolochainP2pError>> ⓘ
fn must_get_agent_activity(
&self,
dna_hash: HoloHash<Dna>,
author: HoloHash<Agent>,
filter: ChainFilter<HoloHash<Action>>
) -> MustBoxFuture<'static, Result<Vec<MustGetAgentActivityResponse, Global>, HolochainP2pError>> ⓘ
A remote node is requesting agent activity from us.
sourcefn send_validation_receipt(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn send_validation_receipt(
&self,
dna_hash: HoloHash<Dna>,
to_agent: HoloHash<Agent>,
receipt: SerializedBytes
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
Send a validation receipt to a remote node.
sourcefn new_integrated_data(
&self,
dna_hash: HoloHash<Dna>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn new_integrated_data(
&self,
dna_hash: HoloHash<Dna>
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
New data has been integrated and is ready for gossiping.
Check if any local agent in this space is an authority for a hash.
sourcefn countersigning_session_negotiation(
&self,
dna_hash: HoloHash<Dna>,
agents: Vec<HoloHash<Agent>, Global>,
message: CountersigningSessionNegotiationMessage
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
fn countersigning_session_negotiation(
&self,
dna_hash: HoloHash<Dna>,
agents: Vec<HoloHash<Agent>, Global>,
message: CountersigningSessionNegotiationMessage
) -> MustBoxFuture<'static, Result<(), HolochainP2pError>> ⓘ
Messages between agents negotiation a countersigning session.
sourcefn dump_network_metrics(
&self,
dna_hash: Option<HoloHash<Dna>>
) -> MustBoxFuture<'static, Result<String, HolochainP2pError>> ⓘ
fn dump_network_metrics(
&self,
dna_hash: Option<HoloHash<Dna>>
) -> MustBoxFuture<'static, Result<String, HolochainP2pError>> ⓘ
Dump network metrics.
sourcefn get_diagnostics(
&self,
dna_hash: HoloHash<Dna>
) -> MustBoxFuture<'static, Result<GossipDiagnostics, HolochainP2pError>> ⓘ
fn get_diagnostics(
&self,
dna_hash: HoloHash<Dna>
) -> MustBoxFuture<'static, Result<GossipDiagnostics, HolochainP2pError>> ⓘ
Get struct for diagnostic data
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
sourcefn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
sourcefn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
sourceimpl<S> KitsuneP2pEventSender for Swhere
S: GhostChannelSender<KitsuneP2pEvent>,
impl<S> KitsuneP2pEventSender for Swhere
S: GhostChannelSender<KitsuneP2pEvent>,
sourcefn put_agent_info_signed(
&self,
input: PutAgentInfoSignedEvt
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn put_agent_info_signed(
&self,
input: PutAgentInfoSignedEvt
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
We need to store signed agent info.
sourcefn query_agents(
&self,
input: QueryAgentsEvt
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, KitsuneP2pError>> ⓘ
fn query_agents(
&self,
input: QueryAgentsEvt
) -> MustBoxFuture<'static, Result<Vec<AgentInfoSigned, Global>, KitsuneP2pError>> ⓘ
We need to get previously stored agent info.
sourcefn query_peer_density(
&self,
space: Arc<KitsuneSpace>,
dht_arc: DhtArc
) -> MustBoxFuture<'static, Result<PeerView, KitsuneP2pError>> ⓘ
fn query_peer_density(
&self,
space: Arc<KitsuneSpace>,
dht_arc: DhtArc
) -> MustBoxFuture<'static, Result<PeerView, KitsuneP2pError>> ⓘ
Query the peer density of a space for a given [
DhtArc
].sourcefn call(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<Vec<u8, Global>, KitsuneP2pError>> ⓘ
fn call(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<Vec<u8, Global>, KitsuneP2pError>> ⓘ
We are receiving a request from a remote node.
sourcefn notify(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn notify(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
We are receiving a notification from a remote node.
sourcefn gossip(
&self,
space: Arc<KitsuneSpace>,
ops: Vec<Arc<KitsuneOpData>, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn gossip(
&self,
space: Arc<KitsuneSpace>,
ops: Vec<Arc<KitsuneOpData>, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
We are receiving a dht op we may need to hold distributed via gossip.
sourcefn query_op_hashes(
&self,
input: QueryOpHashesEvt
) -> MustBoxFuture<'static, Result<Option<(Vec<Arc<KitsuneOpHash>, Global>, RangeInclusive<Timestamp>)>, KitsuneP2pError>> ⓘ
fn query_op_hashes(
&self,
input: QueryOpHashesEvt
) -> MustBoxFuture<'static, Result<Option<(Vec<Arc<KitsuneOpHash>, Global>, RangeInclusive<Timestamp>)>, KitsuneP2pError>> ⓘ
Gather a list of op-hashes from our implementor that meet criteria.
Get the oldest and newest times for ops within a time window and max number of ops. Read more
sourcefn fetch_op_data(
&self,
input: FetchOpDataEvt
) -> MustBoxFuture<'static, Result<Vec<(Arc<KitsuneOpHash>, Arc<KitsuneOpData>), Global>, KitsuneP2pError>> ⓘ
fn fetch_op_data(
&self,
input: FetchOpDataEvt
) -> MustBoxFuture<'static, Result<Vec<(Arc<KitsuneOpHash>, Arc<KitsuneOpData>), Global>, KitsuneP2pError>> ⓘ
Gather all op-hash data for a list of op-hashes from our implementor.
sourcefn sign_network_data(
&self,
input: SignNetworkDataEvt
) -> MustBoxFuture<'static, Result<KitsuneSignature, KitsuneP2pError>> ⓘ
fn sign_network_data(
&self,
input: SignNetworkDataEvt
) -> MustBoxFuture<'static, Result<KitsuneSignature, KitsuneP2pError>> ⓘ
Request that our implementor sign some data on behalf of an agent.
sourceimpl<S> KitsuneP2pSender for Swhere
S: GhostChannelSender<KitsuneP2p>,
impl<S> KitsuneP2pSender for Swhere
S: GhostChannelSender<KitsuneP2p>,
sourcefn list_transport_bindings(
&self
) -> MustBoxFuture<'static, Result<Vec<Url2, Global>, KitsuneP2pError>> ⓘ
fn list_transport_bindings(
&self
) -> MustBoxFuture<'static, Result<Vec<Url2, Global>, KitsuneP2pError>> ⓘ
Get the calculated transport bindings.
sourcefn join(
&self,
space: Arc<KitsuneSpace>,
agent: Arc<KitsuneAgent>,
initial_arc: Option<DhtArc>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn join(
&self,
space: Arc<KitsuneSpace>,
agent: Arc<KitsuneAgent>,
initial_arc: Option<DhtArc>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
Announce a space/agent pair on this network.
sourcefn leave(
&self,
space: Arc<KitsuneSpace>,
agent: Arc<KitsuneAgent>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn leave(
&self,
space: Arc<KitsuneSpace>,
agent: Arc<KitsuneAgent>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
Withdraw this space/agent pair from this network.
sourcefn rpc_single(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>,
timeout_ms: Option<u64>
) -> MustBoxFuture<'static, Result<Vec<u8, Global>, KitsuneP2pError>> ⓘ
fn rpc_single(
&self,
space: Arc<KitsuneSpace>,
to_agent: Arc<KitsuneAgent>,
payload: Vec<u8, Global>,
timeout_ms: Option<u64>
) -> MustBoxFuture<'static, Result<Vec<u8, Global>, KitsuneP2pError>> ⓘ
Make a request of a single remote agent, expecting a response.
The remote side will receive a “Call” event. Read more
sourcefn rpc_multi(
&self,
input: RpcMulti
) -> MustBoxFuture<'static, Result<Vec<RpcMultiResponse, Global>, KitsuneP2pError>> ⓘ
fn rpc_multi(
&self,
input: RpcMulti
) -> MustBoxFuture<'static, Result<Vec<RpcMultiResponse, Global>, KitsuneP2pError>> ⓘ
Make a request to multiple destination agents - awaiting/aggregating the responses.
The remote sides will see these messages as “Call” events.
NOTE: We’ve currently disabled the “multi” part of this.
It will still pick appropriate peers by basis, but will only
make requests one at a time, returning the first success. Read more
sourcefn broadcast(
&self,
space: Arc<KitsuneSpace>,
basis: Arc<KitsuneBasis>,
timeout: KitsuneTimeout,
destination: BroadcastTo,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn broadcast(
&self,
space: Arc<KitsuneSpace>,
basis: Arc<KitsuneBasis>,
timeout: KitsuneTimeout,
destination: BroadcastTo,
payload: Vec<u8, Global>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
Publish data to a “neighborhood” of remote nodes surrounding the
“basis” hash. This is a multi-step fire-and-forget algorithm.
An Ok(()) result only means that we were able to establish at
least one connection with a node in the target neighborhood.
The remote sides will see these messages as “Notify” events. Read more
sourcefn targeted_broadcast(
&self,
space: Arc<KitsuneSpace>,
agents: Vec<Arc<KitsuneAgent>, Global>,
timeout: KitsuneTimeout,
payload: Vec<u8, Global>,
drop_at_limit: bool
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn targeted_broadcast(
&self,
space: Arc<KitsuneSpace>,
agents: Vec<Arc<KitsuneAgent>, Global>,
timeout: KitsuneTimeout,
payload: Vec<u8, Global>,
drop_at_limit: bool
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
Broadcast data to a specific set of agents without
expecting a response.
An Ok(()) result only means that we were able to establish at
least one connection with a node in the agent set. Read more
sourcefn new_integrated_data(
&self,
space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
fn new_integrated_data(
&self,
space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<(), KitsuneP2pError>> ⓘ
New data has been integrated and is ready for gossiping.
Check if an agent is an authority for a hash.
sourcefn dump_network_metrics(
&self,
space: Option<Arc<KitsuneSpace>>
) -> MustBoxFuture<'static, Result<Value, KitsuneP2pError>> ⓘ
fn dump_network_metrics(
&self,
space: Option<Arc<KitsuneSpace>>
) -> MustBoxFuture<'static, Result<Value, KitsuneP2pError>> ⓘ
dump network metrics
sourcefn get_diagnostics(
&self,
space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<GossipDiagnostics, KitsuneP2pError>> ⓘ
fn get_diagnostics(
&self,
space: Arc<KitsuneSpace>
) -> MustBoxFuture<'static, Result<GossipDiagnostics, KitsuneP2pError>> ⓘ
Get data for diagnostics
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref