Expand description
The Endpoint
allows establishing connections to other iroh nodes.
The Endpoint
is the main API interface to manage a local iroh node. It allows
connecting to and accepting connections from other nodes. See the module docs for
more details on how iroh connections work.
The main items in this module are:
Structs§
- Future produced by
Endpoint::accept
. - Future produced by
Connection::accept_bi
- Future produced by
Connection::accept_uni
- Parameters for controlling the peer’s acknowledgement frequency
- Reason given by an application for closing the connection
- Builder for
Endpoint
. - A chunk of data from the receive stream
- Error indicating that a stream has not been opened or has already been finished or reset
- In-progress connection attempt future
- A QUIC connection.
- Reason given by the transport for closing the connection
- Connection statistics
- Stream returning
ConnectionTypes
- Generic crypto errors
- A direct address on which an iroh-node might be contactable.
- Information about a direct address.
- Stream returning local endpoints as they change.
- Controls an iroh node, establishing connections with other nodes.
- Error returned by [Session::export_keying_material].
- Number of frames transmitted of each frame type
- An incoming connection for which the server has not yet begun its parts of the handshake.
- Parameters governing MTU discovery.
- Future produced by
Connection::open_bi
- Future produced by
Connection::open_uni
- Statistics related to a transmission path
- Future produced by
Connection::read_datagram
- A stream that can only be used to receive data
- Details about a remote iroh node which is known to this node.
- Error for attempting to retry an [
Incoming
] which already bears an address validation token from a previous retry - A stream that can only be used to send data
- Parameters governing incoming connections
- Identifier for a stream within a particular connection
- Parameters governing the core QUIC state machine
- Transport-level errors occur when a peer violates the protocol specification
- Transport-level error code
- Statistics about UDP datagrams transmitted or received on a connection
- Error indicating that the specified QUIC version is not supported
- An integer less than 2^62
- A handle to some connection internals, use with care.
- Indicates how many bytes and chunks had been transferred in a write operation
- Future that completes when a connection is fully established
Enums§
- Reasons why a connection might be lost
- The type of connection we have to the endpoint.
- The type of control message we have received.
- The type of direct address.
- Errors that arise from reading from a stream.
- Errors that arise from reading from a stream.
- Errors from
RecvStream::read_to_end
- Configuration of the relay servers for an
Endpoint
. - Errors that arise while waiting for a stream to be reset
- Errors that can arise when sending a datagram
- The origin or source through which an address associated with a remote node was discovered.
- Errors that arise while monitoring for a send stream stop from the peer
- Errors that arise from writing to a stream
Constants§
- Environment variable to force the use of staging relays.
Traits§
- A key for sealing data with AEAD-based algorithms
- Common interface for different congestion controllers
- Constructs controllers on demand
- Server-side configuration for the crypto protocol
- A pseudo random key for HKDF
Functions§
- Returns the default relay mode.
- Returns
true
if the use of staging relays is forced. - Extract the
PublicKey
from the peer’s TLS certificate. - Creates a
ServerConfig
with the given secret key and limits.