dcrd/connmgr
Dave Collins e052b9cbf2
multi: Remove non-root module replacements.
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.
2019-02-08 18:01:43 -06:00
..
connmanager_test.go connmgr: Use same Dial func signature as net.Dial 2018-03-05 12:29:26 -06:00
connmanager.go connmgr: Fix the ConnReq print out causing panic 2018-07-11 06:26:24 -05:00
doc.go connmgr: Refactor connection management into pkg 2017-03-21 19:42:19 -05:00
dynamicbanscore_test.go travis: add ineffassign linter 2017-12-01 09:14:04 -05:00
dynamicbanscore.go connmgr: unexport the DynamicBanScore mutex. 2017-03-21 19:43:02 -05:00
go.mod multi: Remove non-root module replacements. 2019-02-08 18:01:43 -06:00
go.sum multi: Remove non-root module replacements. 2019-02-08 18:01:43 -06:00
log.go multi: Replace btclog with slog. 2018-05-23 14:22:10 -05:00
README.md multi: Update markdown in README files to match change in github parser. 2017-05-26 12:06:19 -04:00
seed.go chaincfg: Introduce new type DNSSeed 2018-01-17 23:02:21 +00:00
tor.go travis: add ineffassign linter 2017-12-01 09:14:04 -05:00

connmgr

Build Status ISC License GoDoc

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.