Skip to main content

Module protocol

Module protocol 

Source
Expand description

Transport binary protocol layer (codec, pipeline, heartbeat, stream). Collection of objects and functionality allowing building of p2p or stream protocols for the higher business logic layers.

§Contents

Supported protocol configurations:

  • mix
  • ack
  • heartbeat

Re-exports§

pub use counters::PeerProtocolCounterRegistry;
pub use counters::PeerProtocolCounters;

Modules§

codec 🔒
Coder and decoder for the transport binary protocol layer
counters
Per-peer protocol conformance counters.
errors
Errors produced by the crate.
heartbeat
heartbeat p2p protocol
pipeline 🔒
Packet pipeline for the HOPR protocol. HOPR packet processing pipeline.
return_path_recovery
Sequences re-planning ahead of refilling when a return path goes silent. Sequences the response to a return path that has gone silent.
stream
Stream processing utilities Infrastructure supporting converting a collection of PeerId split libp2p_stream managed individual peer-to-peer libp2p::swarm::Streams.
surb_telemetry
Records SURB round-trips as network graph edge telemetry. Turns SURB round-trips into edge telemetry for the network graph.

Structs§

AcknowledgementPipelineConfig
Configuration for the acknowledgement processing pipeline.
PacketPipelineBuilder
Builder for constructing the HOPR packet pipeline for a specific node type.
PacketPipelineConfig
Overall configuration of the input/output packet processing pipeline.
PoolArbitrationConfig
Arbitration of the shared Rayon pool, protecting the encode path (SPHINX wrap + SURB generation) from decode floods (SPHINX peel — relay forwarding + exit termination).
Unset
Placeholder type used by PacketPipelineBuilder for generic parameters that have not yet been provided via the corresponding builder method.

Enums§

NodeType
Node type for which the packet processing pipeline is being constructed.
PacketPipelineProcesses

Constants§

CURRENT_HOPR_MSG_PROTOCOL
HOPR_PACKET_SIZE 🔒

Type Aliases§

HoprBinaryCodec