mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

* [NOD-847] Fix CIDR protection and prevent connecting to the same address twice * [NOD-847] Fix Tests * [NOD-847] Add TestDuplicateOutboundConnections and TestSameOutboundGroupConnections * [NOD-847] Fix TestRetryPermanent, TestNetworkFailure and wait 10 ms before restoring the previous active config * [NOD-847] Add "is" before boolean methods * [NOD-847] Fix Connect's lock * [NOD-847] Make numAddressesInAddressManager an argument * [NOD-847] Add teardown function for address manager * [NOD-847] Add stack trace to ConnManager errors * [NOD-847] Change emptyAddressManagerForTest->createEmptyAddressManagerForTest and fix typos * [NOD-847] Fix wrong test name for addressManagerForTest * [NOD-847] Change error message if New fails * [NOD-847] Add new line on releaseAddress * [NOD-847] Always try to reconnect on disconnect
connmgr
Package connmgr implements a generic Kaspa network connection manager.
Overview
Connection Manager handles all the general connection concerns such as maintaining a set number of outbound connections, sourcing peers, banning, limiting max connections, etc.
The package provides a generic connection manager which is able to accept connection requests from a source or a set of given addresses, dial them and notify the caller on connections. The main intended use is to initialize a pool of active connections and maintain them to remain connected to the P2P network.
In addition the connection manager provides the following utilities:
- Notifications on connections or disconnections
- Handle failures and retry new addresses from the source
- Connect only to specified addresses
- Permanent connections with increasing backoff retry timers
- Disconnect or Remove an established connection