github.com/btcsuite/btcd@v0.24.0/connmgr/README.md (about)

     1  connmgr
     2  =======
     3  
     4  [![Build Status](https://github.com/btcsuite/btcd/workflows/Build%20and%20Test/badge.svg)](https://github.com/btcsuite/btcd/actions)
     5  [![ISC License](http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
     6  [![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/btcsuite/btcd/connmgr)
     7  
     8  Package connmgr implements a generic Bitcoin network connection manager.
     9  
    10  ## Overview
    11  
    12  Connection Manager handles all the general connection concerns such as
    13  maintaining a set number of outbound connections, sourcing peers, banning,
    14  limiting max connections, tor lookup, etc.
    15  
    16  The package provides a generic connection manager which is able to accept
    17  connection requests from a source or a set of given addresses, dial them and
    18  notify the caller on connections. The main intended use is to initialize a pool
    19  of active connections and maintain them to remain connected to the P2P network.
    20  
    21  In addition the connection manager provides the following utilities:
    22  
    23  - Notifications on connections or disconnections
    24  - Handle failures and retry new addresses from the source
    25  - Connect only to specified addresses
    26  - Permanent connections with increasing backoff retry timers
    27  - Disconnect or Remove an established connection
    28  
    29  ## Installation and Updating
    30  
    31  ```bash
    32  $ go get -u github.com/btcsuite/btcd/connmgr
    33  ```
    34  
    35  ## License
    36  
    37  Package connmgr is licensed under the [copyfree](http://copyfree.org) ISC License.