Skip to content
Snippets Preprocessor error

    [Errno 2] No such file or directory: 'transport/messages/p2p_message.md'

Transport

Overview

Purpose

The Transport engine is responsible for sending and receiving messages from other nodes over the network, establishing and maintaining authenticated and encrypted communication channels to other nodes via various transport protocols.

State

The Transport engine maintains a ConnectionPool, a pool of open connections associated with node identities of connected nodes. For protocols that support session resumption (such as QUIC, TLS), it also maintains a TransportSessionCache for this purpose.

Messages received

P2PMessage

--8<-- "transport/messages/p2p_message.md:purpose"

--8<-- "transport/messages/p2p_message.md:type"

TransportMessage

--8<-- "transport/messages/transport_message.md:purpose"

--8<-- "transport/messages/transport_message.md:type"

ConnectRequest

--8<-- "transport/messages/connect_request.md:purpose"

--8<-- "transport/messages/connect_request.md:type"

DisconnectRequest

--8<-- "transport/messages/disconnect_request.md:purpose"

--8<-- "transport/messages/disconnect_request.md:type"

ConnectedNodesRequest

--8<-- "transport/messages/connected_nodes_request.md:purpose"

--8<-- "transport/messages/connected_nodes_request.md:type"

Notifications sent

NodeConnected

--8<-- "transport/notifications/node_connected.md:purpose"

--8<-- "transport/notifications/node_connected.md:type"

NodeConnectFailed

--8<-- "transport/notifications/node_disconnected.md:purpose"

--8<-- "transport/notifications/node_disconnected.md:type"

NodeDisconnected

--8<-- "transport/notifications/node_connect_failed.md:purpose"

--8<-- "transport/notifications/node_connect_failed.md:type"

Message flow

sequenceDiagram

--8<-- "transport/messages/transport_message.md:sequence"

--8<-- "transport/messages/connect_request.md:sequence"

--8<-- "transport/messages/disconnect_request.md:sequence"

--8<-- "transport/messages/connected_nodes_request.md:sequence"

--8<-- "transport/notifications/node_connected.md:sequence"

--8<-- "transport/notifications/node_disconnected.md:sequence"

--8<-- "transport/notifications/node_connect_failed.md:sequence"