dcrd/connmgr
2018-12-12 12:18:11 -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 release: Bump module versions and deps. 2018-12-10 11:18:00 -06:00
go.sum release: Tidy module files with published versions. 2018-12-12 12:18:11 -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.