dcrd/connmgr
Donald Adu-Poku 0c11ab5bd9 multi: avoid using subscriber lifecycle in catchup.
This updates the index subscriber catchup function to update
subscriptions directly with notification instead of going through the
Run lifecycle process which avoids a case of receiving out of sync
index notifications while catch up is in progress.

Multiple typos in error type tests and review issues have also been
fixed in this commit.
2021-10-12 18:52:50 -05:00
..
connmanager_test.go multi: Fix various typos. 2021-03-01 10:57:51 -06:00
connmanager.go multi: Fix various typos. 2021-03-01 10:57:51 -06:00
doc.go connmgr: Refactor connection management into pkg 2017-03-21 19:42:19 -05:00
dynamicbanscore_test.go connmgr: Fix dynamic ban score stringer deadlock. 2020-03-09 14:31:44 -05:00
dynamicbanscore.go connmgr: Fix dynamic ban score stringer deadlock. 2020-03-09 14:31:44 -05:00
error_test.go multi: avoid using subscriber lifecycle in catchup. 2021-10-12 18:52:50 -05:00
error.go connmgr: Finish recent connmgr err type additions. 2020-05-22 13:22:28 -05:00
go.mod connmgr: Prepare v3.0.0. 2020-09-25 12:21:48 -05:00
go.sum connmgr: Prepare v3.0.0. 2020-09-25 12:21:48 -05:00
log.go connmgr: Remove deprecated DisableLog func. 2020-05-04 14:50:10 -05:00
README.md multi: Update README.md files for go modules. 2021-01-22 14:39:23 -06:00
seed.go connmgr: Enforce max http seeder response size. 2020-08-19 17:58:53 -05:00
tor.go connmgr: Finish recent connmgr err type additions. 2020-05-22 13:22:28 -05:00

connmgr

Build Status ISC License Doc

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

This package is part of the github.com/decred/dcrd/connmgr/v3 module. Use the standard go tooling for working with modules to incorporate it.

License

Package connmgr is licensed under the copyfree ISC License.