Kirill b88e34fd84
[NOD-1313] Refactor AddressManager (#918)
* [NOD-1313] Refactor AddressManager.

* [NOD-1313]Remove old tests.Minor improvements,fixes.

* [NOD-1313] After merge fixes. Fix import cycle.

* [NOD-1313] Integration tests fixes.

* [NOD-1313] Allocate new slice for the returned key.

* [NOD-1313] AddressManager improvements and fixes.

* Move local and banned addresses to separate lists.
* Move AddressManager config to the separate file.
* Add LocalAddressManager.
* Remove redundant KnownAddress structure.
* Restore local addresses functionality.
* Call initListeners from the LocalAddressManager.
* AddressManager minor improvements and fixes.

* [NOD-1313] Minor fixes.

* [NOD-1313] Implement HandleGetPeerAddresses. Refactoring.

* [NOD-1313] After-merge fixes.

* [NOD-1313] Minor improvements.

* AddressManager: added BannedAddresses() method.
* AddressManager: HandleGetPeerAddresses() add banned addresses
  separately.
* AddressManager: remove addressEntry redundant struct.
* ConnectionManager: checkOutgoingConnections() minor improvements and
  fixes.
* Minor refactoring.
* Minor fixes.

* [NOD-1313] GetPeerAddresses RPC message update

* GetPeerAddresses RPC: add BannedAddresses in the separate field.
* Update protobuf.
2020-10-08 17:05:47 +03:00

28 lines
681 B
Go

package addressmanager
import (
"net"
"github.com/kaspanet/kaspad/infrastructure/config"
)
// Config is a descriptor which specifies the AddressManager instance configuration.
type Config struct {
AcceptUnroutable bool
DefaultPort string
ExternalIPs []string
Listeners []string
Lookup func(string) ([]net.IP, error)
}
// NewConfig returns a new address manager Config.
func NewConfig(cfg *config.Config) *Config {
return &Config{
AcceptUnroutable: cfg.NetParams().AcceptUnroutable,
DefaultPort: cfg.NetParams().DefaultPort,
ExternalIPs: cfg.ExternalIPs,
Listeners: cfg.Listeners,
Lookup: cfg.Lookup,
}
}