lbcd/connmgr
Dave Collins ea9bf748bb
connmgr: Remove type defs for callbacks.
This removes the type definitions for the callback functions in favor of
declaring them directly in the Config struct.  This is more consistent
with the rest of the code base and is preferred since it means callers
reviewing the documentation don't have to follow another level of
indirection to figure out the signature.
2016-11-04 13:14:39 -05:00
..
connmanager.go connmgr: Remove type defs for callbacks. 2016-11-04 13:14:39 -05:00
connmanager_test.go connmgr: Rename max outbound to target outbound 2016-11-04 00:36:13 -05:00
doc.go connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00
dynamicbanscore.go connmgr: unexport the DynamicBanScore mutex. 2016-11-01 14:53:15 -05:00
dynamicbanscore_test.go connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00
log.go connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00
README.md connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00
seed.go chaincfg: Introduce new type DNSSeed 2016-10-23 15:59:15 -05:00
tor.go connmgr: Refactor connection management into pkg 2016-10-22 01:11:57 -05:00

connmgr

[Build Status] (https://travis-ci.org/btcsuite/btcd) ![ISC License] (http://img.shields.io/badge/license-ISC-blue.svg) [GoDoc] (http://godoc.org/github.com/btcsuite/btcd/connmgr)

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.