btcd/connmgr
Calvin Kim ba5407615d multi: Run gofmt on the entire repository
The doc formatting changes introduced in the recent go version is
increasing the diff for all of the new commits.  Formatting it all in
this commit will help the readability of future PRs by reducing the
diff.
2023-06-21 22:31:09 +09:00
..
connmanager_test.go Update connmanager_test.go 2021-11-10 07:59:03 -05:00
connmanager.go [connmgr] remove pending entry on failed connection 2023-01-12 09:45:31 -05:00
doc.go multi: Run gofmt on the entire repository 2023-06-21 22:31:09 +09:00
dynamicbanscore_test.go BUG:dynamicbanscore deadlock 2020-03-09 13:41:13 -04:00
dynamicbanscore.go BUG:dynamicbanscore deadlock 2020-03-09 13:41:13 -04:00
log.go connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00
README.md docs: update shields 2021-03-05 07:45:19 -05:00
seed.go multi: update addrmgr, server to use NetAddressV2 instead of legacy 2022-02-24 13:11:15 -05:00
tor.go Revert "reduce redundant memory allocatio - resolves btcsuite/btcd#1699" 2022-02-04 15:35:59 -05:00

connmgr

Build Status ISC License GoDoc

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.