Expand description
Session
object providing the session functionality over the HOPR transport
The session proxies the user interactions with the transport to hide the advanced interactions and functionality.
The SessionManager
allows for automatic management of sessions via the Start protocol.
This crate implements RFC-0007.
Modules§
Structs§
- Byte
Capabilities - Wrapper for
Capabilities
that makes conversion to/fromu8
possible. - Incoming
Session - Wrapper for incoming
Session
along with other information extracted from the Start protocol during the session establishment. - Session
- Represents the Session protocol socket over HOPR.
- Session
Client Config - Configuration for the session.
- Session
Id - Unique ID of a specific Session in a certain direction.
- Session
Manager - Manages lifecycles of Sessions.
- Session
Manager Config - Configuration for the
SessionManager
. - Surb
Balancer Config - Configuration for the
SurbBalancer
. - Validated
Path - Represents [
NonEmptyPath
] that has been resolved and validated.
Enums§
- Capability
- Individual capabilities of a Session.
- Destination
Routing - Routing information containing forward or return routing options.
- Dispatch
Result - Indicates the result of processing a message.
- IpOr
Host - Implements a host name with port.
This could be either a DNS name with port
or an IP address with port represented by
std::net::SocketAddr
. - IpProtocol
- Lists some of the IP protocols.
- Resolved
Transport Routing - Contains the resolved routing information for the packet.
- Routing
Options - Represents routing options in a mixnet with a maximum number of hops.
- Sealed
Host - Contains optionally encrypted
IpOrHost
. - Session
Target - Defines what should happen with the data at the recipient where the
data from the established session are supposed to be forwarded to some
target
. - Surb
Matcher - Allows finding saved SURBs based on different criteria.
Constants§
- MIN_
BALANCER_ SAMPLING_ INTERVAL - Smallest possible interval for balancer sampling.
- MIN_
SURB_ BUFFER_ DURATION - Minimum time the SURB buffer must endure if no SURBs are being produced.
- SESSION_
MTU - Number of bytes that can be sent in a single Session protocol payload.
- SURB_
SIZE - Size of the HOPR SURB in bytes.
Functions§
- transfer_
session - Convenience function to copy data in both directions between a
Session
and arbitrary async IO stream. This function is only available with Tokio and will panic with other runtimes.
Type Aliases§
- Capabilities
- Set of Session capabilities.
- Service
Id - Describes a node service target.
These are specialized
SessionTargets
that are local to the Exit node and have different purposes, such as Cover Traffic.