Crate hopr_transport_session

Source
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§

errors
traits

Structs§

IncomingSession
Wrapper for incoming Session along with other information extracted from the Start protocol during the session establishment.
Session
SessionClientConfig
Configuration for the session.
SessionId
Unique ID of a specific Session in a certain direction.
SessionManager
Manages lifecycles of Sessions.
SessionManagerConfig
Configuration for the SessionManager.
SurbBalancerConfig
Configuration for the [SurbBalancer].
ValidatedPath
Represents [NonEmptyPath] that has been resolved and validated.

Enums§

Capability
Individual capabilities of a Session.
DestinationRouting
Routing information containing forward or return routing options.
DispatchResult
Indicates the result of processing a message.
IpOrHost
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.
ResolvedTransportRouting
Contains the resolved routing information for the packet.
RoutingOptions
Represents routing options in a mixnet with a maximum number of hops.
SealedHost
Contains optionally encrypted IpOrHost.
SessionTarget
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.
SurbMatcher
Allows finding saved SURBs based on different criteria.

Constants§

MIN_BALANCER_SAMPLING_INTERVAL
Smallest possible interval for balancer sampling.
SESSION_PAYLOAD_SIZE
Number of bytes that can be sent in a single Session protocol payload.

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.
ServiceId
Describes a node service target. These are specialized SessionTargets that are local to the Exit node and have different purposes, such as Cover Traffic.