Skip to content

v4.4.1

@stephanfeb stephanfeb tagged this 07 Oct 03:45
Problem: the swarm kept connection health for each peer. When a relayed
connection failed, the peer was marked as failed. The next dialPeer
then found all connections to the peer unhealthy, closed the working
direct (hole-punched) connection, and dialed a new one. Also, a new
connection set the peer to healthy, so a failed older connection looked
healthy. The activity, creation time, health and probe-failure entries
of a connection also stayed after the connection was removed.

Fix: health and probe failures are kept for each connection.
removeConnection removes all entries of the connection.

Audit of dart-libp2p-huh and dart-libp2p-dc3: the other items were
already fixed; a new test shows that dialPeer uses an inbound relayed
connection. The AutoNAT v2 interop tests get a 90-s timeout.

Closes dart-libp2p-huh and dart-libp2p-dc3.
Assets 2
Loading