This modifies the CancelPending method of the connection manager to return an error when there are no pending connections for the provided address or the connection manager is already shutting down. This change, in turn, ensures that attempts to remove a pending connection that doesn't exist via RPC returns an error as expected. |
||
|---|---|---|
| .. | ||
| 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.