Ori Newman 7a7821e1c8
[NOD-1313] Refactor AddressManager (#918) (#1049)
* [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.

* [NOD-1534] Update messages.pb.go

Co-authored-by: Kirill <gammerxpower@gmail.com>
2020-11-12 14:40:41 +02: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,
}
}