This modifies all of the modules, with the exception of the root module, to remove all replacement directives from their go.mod files and update the requirements and module sums accordingly. While it is nice to be able to build and test directly from each module directory and have it pull in the latest untagged changes when developing, having all of the overrides in each module makes it infeasible to use the module tools to help maintain the modules and thus makes it quite difficult to ensure they are all independently accurate for external consumers. By maintaining all of the overrides in the root module and invoking all builds and tests from it, the overrides will apply to ensure the latest code is being built and tested. This also modifies the tests script used with in CI to run all of the tests from the root module accordingly. |
||
|---|---|---|
| .. | ||
| connmanager_test.go | ||
| connmanager.go | ||
| doc.go | ||
| dynamicbanscore_test.go | ||
| dynamicbanscore.go | ||
| go.mod | ||
| go.sum | ||
| log.go | ||
| README.md | ||
| seed.go | ||
| tor.go | ||
connmgr
Package connmgr implements a generic Decred network connection manager.
Overview
This package 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/decred/dcrd/connmgr
License
Package connmgr is licensed under the copyfree ISC License.