mirror of
https://github.com/btcsuite/btcd.git
synced 2026-08-13 12:32:51 +02:00
In this commit, we refactor the v2 -> v1 downgrade logic to: simplify the code in the server for reconnection, use a functional option to avoid breaking the connmgr API, and we also encapsulate the downgrade state in a new struct so it can be re-used elsewhere. |
||
|---|---|---|
| .. | ||
| connmanager.go | ||
| connmanager_test.go | ||
| doc.go | ||
| dynamicbanscore.go | ||
| dynamicbanscore_test.go | ||
| log.go | ||
| README.md | ||
| seed.go | ||
| tor.go | ||
connmgr
Package connmgr implements a generic Bitcoin 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, tor lookup, 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
Installation and Updating
$ go get -u github.com/btcsuite/btcd/connmgr
License
Package connmgr is licensed under the copyfree ISC License.