Enum holochain_p2p::event::HolochainP2pEvent [−][src]
pub enum HolochainP2pEvent {
Show 21 variants
KGenReq {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<KGenRes>>,
arg: KGenReq,
},
PutAgentInfoSigned {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>,
dna_hash: DnaHash,
peer_data: Vec<AgentInfoSigned>,
},
GetAgentInfoSigned {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Option<AgentInfoSigned>>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
kitsune_space: Arc<KitsuneSpace>,
kitsune_agent: Arc<KitsuneAgent>,
},
QueryAgentInfoSigned {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>,
dna_hash: DnaHash,
agents: Option<HashSet<Arc<KitsuneAgent>>>,
kitsune_space: Arc<KitsuneSpace>,
},
QueryGossipAgents {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>,
dna_hash: DnaHash,
agents: Option<Vec<AgentPubKey>>,
kitsune_space: Arc<KitsuneSpace>,
since_ms: u64,
until_ms: u64,
arc_set: Arc<DhtArcSet>,
},
QueryAgentInfoSignedNearBasis {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>,
dna_hash: DnaHash,
kitsune_space: Arc<KitsuneSpace>,
basis_loc: u32,
limit: u32,
},
QueryPeerDensity {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<PeerDensity>>,
dna_hash: DnaHash,
kitsune_space: Arc<KitsuneSpace>,
dht_arc: DhtArc,
},
PutMetricDatum {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
agent: AgentPubKey,
metric: MetricKind,
timestamp: SystemTime,
},
QueryMetrics {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<MetricQueryAnswer>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
query: MetricQuery,
},
CallRemote {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<SerializedBytes>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
from_agent: AgentPubKey,
zome_name: ZomeName,
fn_name: FunctionName,
cap_secret: Option<CapSecret>,
payload: ExternIO,
},
Publish {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>,
dna_hash: DnaHash,
request_validation_receipt: bool,
countersigning_session: bool,
ops: Vec<(DhtOpHash, DhtOp)>,
},
GetValidationPackage {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<ValidationPackageResponse>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
header_hash: HeaderHash,
},
Get {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<WireOps>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
dht_hash: AnyDhtHash,
options: GetOptions,
},
GetMeta {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<MetadataSet>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
dht_hash: AnyDhtHash,
options: GetMetaOptions,
},
GetLinks {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<WireLinkOps>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
link_key: WireLinkKey,
options: GetLinksOptions,
},
GetAgentActivity {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<AgentActivityResponse<HeaderHash>>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
agent: AgentPubKey,
query: ChainQueryFilter,
options: GetActivityOptions,
},
ValidationReceiptReceived {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
receipt: SerializedBytes,
},
QueryOpHashes {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Option<(Vec<DhtOpHash>, TimeWindowInclusive)>>>,
dna_hash: DnaHash,
arc_set: DhtArcSet,
window: TimeWindow,
max_ops: usize,
include_limbo: bool,
},
FetchOpData {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<(DhtOpHash, DhtOp)>>>,
dna_hash: DnaHash,
op_hashes: Vec<DhtOpHash>,
},
SignNetworkData {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<Signature>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
data: Vec<u8>,
},
CountersigningAuthorityResponse {
span_context: Context,
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>,
dna_hash: DnaHash,
to_agent: AgentPubKey,
signed_headers: Vec<SignedHeader>,
},
}
Expand description
The HolochainP2pEvent stream allows handling events generated from the HolochainP2p actor.
Variants
KGenReq
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<KGenRes>>
Response callback - respond to the request.
arg: KGenReq
Input parameter.
Generic Kitsune Request of the implementor
PutAgentInfoSigned
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
peer_data: Vec<AgentInfoSigned>
Input parameter.
We need to store signed agent info.
GetAgentInfoSigned
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Option<AgentInfoSigned>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
kitsune_space: Arc<KitsuneSpace>
Input parameter.
kitsune_agent: Arc<KitsuneAgent>
Input parameter.
We need to get previously stored agent info.
QueryAgentInfoSigned
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
agents: Option<HashSet<Arc<KitsuneAgent>>>
Input parameter.
kitsune_space: Arc<KitsuneSpace>
Input parameter.
We need to get previously stored agent info.
QueryGossipAgents
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
agents: Option<Vec<AgentPubKey>>
Input parameter.
kitsune_space: Arc<KitsuneSpace>
Input parameter.
since_ms: u64
Input parameter.
until_ms: u64
Input parameter.
arc_set: Arc<DhtArcSet>
Input parameter.
We need to get agents that fit into an arc set for gossip.
QueryAgentInfoSignedNearBasis
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<AgentInfoSigned>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
kitsune_space: Arc<KitsuneSpace>
Input parameter.
basis_loc: u32
Input parameter.
limit: u32
Input parameter.
query agent info in order of closeness to a basis location.
QueryPeerDensity
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<PeerDensity>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
kitsune_space: Arc<KitsuneSpace>
Input parameter.
Query the peer density of a space for a given [DhtArc
].
PutMetricDatum
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
agent: AgentPubKey
Input parameter.
metric: MetricKind
Input parameter.
timestamp: SystemTime
Input parameter.
We need to store some metric data on behalf of kitsune.
QueryMetrics
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<MetricQueryAnswer>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
query: MetricQuery
Input parameter.
We need to provide some metric data to kitsune.
CallRemote
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<SerializedBytes>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
from_agent: AgentPubKey
Input parameter.
zome_name: ZomeName
Input parameter.
fn_name: FunctionName
Input parameter.
payload: ExternIO
Input parameter.
A remote node is attempting to make a remote call on us.
Publish
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
request_validation_receipt: bool
Input parameter.
countersigning_session: bool
Input parameter.
A remote node is publishing data in a range we claim to be holding.
GetValidationPackage
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<ValidationPackageResponse>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
header_hash: HeaderHash
Input parameter.
A remote node is requesting a validation package.
Get
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<WireOps>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
dht_hash: AnyDhtHash
Input parameter.
options: GetOptions
Input parameter.
A remote node is requesting entry data from us.
GetMeta
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<MetadataSet>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
dht_hash: AnyDhtHash
Input parameter.
options: GetMetaOptions
Input parameter.
A remote node is requesting metadata from us.
GetLinks
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<WireLinkOps>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
link_key: WireLinkKey
Input parameter.
options: GetLinksOptions
Input parameter.
A remote node is requesting link data from us.
GetAgentActivity
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<AgentActivityResponse<HeaderHash>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
agent: AgentPubKey
Input parameter.
query: ChainQueryFilter
Input parameter.
options: GetActivityOptions
Input parameter.
A remote node is requesting agent activity from us.
ValidationReceiptReceived
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
receipt: SerializedBytes
Input parameter.
A remote node has sent us a validation receipt.
QueryOpHashes
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Option<(Vec<DhtOpHash>, TimeWindowInclusive)>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
window: TimeWindow
Input parameter.
max_ops: usize
Input parameter.
include_limbo: bool
Input parameter.
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.
FetchOpData
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Vec<(DhtOpHash, DhtOp)>>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
The p2p module needs access to the content for a given set of DhtOpHashes.
SignNetworkData
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<Signature>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
P2p operations require cryptographic signatures and validation.
CountersigningAuthorityResponse
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<HolochainP2pEventHandlerResult<()>>
Response callback - respond to the request.
dna_hash: DnaHash
Input parameter.
to_agent: AgentPubKey
Input parameter.
signed_headers: Vec<SignedHeader>
Input parameter.
Response from an authority to agents that are part of a session.
Implementations
The agent_pub_key associated with this network p2p event.
Trait Implementations
Process a dispatch event with a given GhostHandler.
Auto Trait Implementations
impl !RefUnwindSafe for HolochainP2pEvent
impl Send for HolochainP2pEvent
impl Sync for HolochainP2pEvent
impl Unpin for HolochainP2pEvent
impl !UnwindSafe for HolochainP2pEvent
Blanket Implementations
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
Mutably borrows from an owned value. Read more
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>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more