From 9c36017c5a4998324a3e821786fdad9047a10355 Mon Sep 17 00:00:00 2001 From: Ori Newman Date: Mon, 10 Aug 2020 14:34:57 +0300 Subject: [PATCH] [NOD-1225] Rename `wire` to `domainmessage` (#23) --- dns.go | 10 +++++----- dnsseed.go | 22 +++++++++++----------- go.sum | 2 ++ manager.go | 18 +++++++++--------- 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/dns.go b/dns.go index fb86399c..60361af5 100644 --- a/dns.go +++ b/dns.go @@ -7,6 +7,7 @@ package main import ( "fmt" "github.com/kaspanet/kaspad/dnsseed" + "github.com/kaspanet/kaspad/domainmessage" "github.com/pkg/errors" "net" "os" @@ -16,7 +17,6 @@ import ( "time" "github.com/kaspanet/kaspad/util/subnetworkid" - "github.com/kaspanet/kaspad/wire" "github.com/miekg/dns" ) @@ -102,11 +102,11 @@ func NewDNSServer(hostname, nameserver, listen string) *DNSServer { } } -func (d *DNSServer) extractServicesSubnetworkID(addr *net.UDPAddr, domainName string) (wire.ServiceFlag, *subnetworkid.SubnetworkID, bool, error) { +func (d *DNSServer) extractServicesSubnetworkID(addr *net.UDPAddr, domainName string) (domainmessage.ServiceFlag, *subnetworkid.SubnetworkID, bool, error) { // Domain name may be in following format: // [n[subnetwork].][xservice.]hostname // where connmgr.SubnetworkIDPrefixChar and connmgr.ServiceFlagPrefixChar are prefexes - wantedSF := wire.SFNodeNetwork + wantedSF := domainmessage.SFNodeNetwork var subnetworkID *subnetworkid.SubnetworkID includeAllSubnetworks := true if d.hostname != domainName { @@ -130,7 +130,7 @@ func (d *DNSServer) extractServicesSubnetworkID(addr *net.UDPAddr, domainName st log.Infof("%s: ParseUint: %v", addr, err) return wantedSF, subnetworkID, includeAllSubnetworks, err } - wantedSF = wire.ServiceFlag(u) + wantedSF = domainmessage.ServiceFlag(u) } } return wantedSF, subnetworkID, includeAllSubnetworks, nil @@ -178,7 +178,7 @@ func translateDNSQuestion(addr *net.UDPAddr, dnsMsg *dns.Msg) (string, error) { } func (d *DNSServer) buildDNSResponse(addr *net.UDPAddr, authority dns.RR, dnsMsg *dns.Msg, - wantedSF wire.ServiceFlag, includeAllSubnetworks bool, subnetworkID *subnetworkid.SubnetworkID, atype string) ([]byte, error) { + wantedSF domainmessage.ServiceFlag, includeAllSubnetworks bool, subnetworkID *subnetworkid.SubnetworkID, atype string) ([]byte, error) { respMsg := dnsMsg.Copy() respMsg.Authoritative = true respMsg.Response = true diff --git a/dnsseed.go b/dnsseed.go index 7509d5b8..23869605 100644 --- a/dnsseed.go +++ b/dnsseed.go @@ -7,6 +7,7 @@ package main import ( "fmt" "github.com/kaspanet/kaspad/config" + "github.com/kaspanet/kaspad/domainmessage" "github.com/kaspanet/kaspad/netadapter/standalone" "github.com/kaspanet/kaspad/protocol/common" "net" @@ -24,7 +25,6 @@ import ( "github.com/kaspanet/kaspad/util/profiling" "github.com/kaspanet/kaspad/signal" - "github.com/kaspanet/kaspad/wire" _ "net/http/pprof" ) @@ -32,7 +32,7 @@ import ( const ( // requiredServices describes the default services that are // required to be supported by outbound peers. - requiredServices = wire.SFNodeNetwork + requiredServices = domainmessage.SFNodeNetwork ) var ( @@ -40,7 +40,7 @@ var ( wg sync.WaitGroup peersDefaultPort int systemShutdown int32 - defaultSeeder *wire.NetAddress + defaultSeeder *domainmessage.NetAddress ) // hostLookup returns the correct DNS lookup function to use depending on the @@ -69,7 +69,7 @@ func creep() { if len(peers) == 0 && amgr.AddressCount() == 0 { // Add peers discovered through DNS to the address manager. dnsseed.SeedFromDNS(ActiveConfig().NetParams(), "", requiredServices, true, - nil, hostLookup, func(addrs []*wire.NetAddress) { + nil, hostLookup, func(addrs []*domainmessage.NetAddress) { amgr.AddAddresses(addrs) }) peers = amgr.Addresses() @@ -94,7 +94,7 @@ func creep() { return } wgCreep.Add(1) - go func(addr *wire.NetAddress) { + go func(addr *domainmessage.NetAddress) { defer wgCreep.Done() err := pollPeer(netAdapter, addr) @@ -110,7 +110,7 @@ func creep() { } } -func pollPeer(netAdapter *standalone.MinimalNetAdapter, addr *wire.NetAddress) error { +func pollPeer(netAdapter *standalone.MinimalNetAdapter, addr *domainmessage.NetAddress) error { peerAddress := net.JoinHostPort(addr.IP.String(), strconv.Itoa(int(addr.Port))) routes, err := netAdapter.Connect(peerAddress) @@ -119,17 +119,17 @@ func pollPeer(netAdapter *standalone.MinimalNetAdapter, addr *wire.NetAddress) e } defer routes.Disconnect() - msgRequestAddresses := wire.NewMsgRequestAddresses(true, nil) + msgRequestAddresses := domainmessage.NewMsgRequestAddresses(true, nil) err = routes.OutgoingRoute.Enqueue(msgRequestAddresses) if err != nil { return errors.Wrapf(err, "failed to request addresses from %s", peerAddress) } - message, err := routes.WaitForMessageOfType(wire.CmdAddresses, common.DefaultTimeout) + message, err := routes.WaitForMessageOfType(domainmessage.CmdAddresses, common.DefaultTimeout) if err != nil { return errors.Wrapf(err, "failed to receive addresses from %s", peerAddress) } - msgAddresses := message.(*wire.MsgAddresses) + msgAddresses := message.(*domainmessage.MsgAddresses) added := amgr.AddAddresses(msgAddresses.AddrList) log.Infof("Peer %s sent %d addresses, %d new", @@ -185,8 +185,8 @@ func main() { } } if ip != nil { - defaultSeeder = wire.NewNetAddressIPPort(ip, uint16(peersDefaultPort), requiredServices) - amgr.AddAddresses([]*wire.NetAddress{defaultSeeder}) + defaultSeeder = domainmessage.NewNetAddressIPPort(ip, uint16(peersDefaultPort), requiredServices) + amgr.AddAddresses([]*domainmessage.NetAddress{defaultSeeder}) } } diff --git a/go.sum b/go.sum index 11b88cda..fbb327b3 100644 --- a/go.sum +++ b/go.sum @@ -28,6 +28,7 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -125,6 +126,7 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200707005602-4258d12073b4/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200805213715-b2f0b7930d06/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/manager.go b/manager.go index 81cdb8d4..bee0ec81 100644 --- a/manager.go +++ b/manager.go @@ -6,6 +6,7 @@ package main import ( "encoding/json" + "github.com/kaspanet/kaspad/domainmessage" "github.com/pkg/errors" "net" "os" @@ -14,14 +15,13 @@ import ( "time" "github.com/kaspanet/kaspad/util/subnetworkid" - "github.com/kaspanet/kaspad/wire" "github.com/miekg/dns" ) // Node repesents a node in the Kaspa network type Node struct { - Addr *wire.NetAddress - Services wire.ServiceFlag + Addr *domainmessage.NetAddress + Services domainmessage.ServiceFlag LastAttempt time.Time LastSuccess time.Time LastSeen time.Time @@ -148,7 +148,7 @@ func NewManager(dataDir string) (*Manager, error) { // AddAddresses adds an address to this dnsseeder manager, and returns the number of // address currently held -func (m *Manager) AddAddresses(addrs []*wire.NetAddress) int { +func (m *Manager) AddAddresses(addrs []*domainmessage.NetAddress) int { var count int m.mtx.Lock() @@ -176,8 +176,8 @@ func (m *Manager) AddAddresses(addrs []*wire.NetAddress) int { } // Addresses returns IPs that need to be tested again. -func (m *Manager) Addresses() []*wire.NetAddress { - addrs := make([]*wire.NetAddress, 0, defaultMaxAddresses*8) +func (m *Manager) Addresses() []*domainmessage.NetAddress { + addrs := make([]*domainmessage.NetAddress, 0, defaultMaxAddresses*8) now := time.Now() i := defaultMaxAddresses @@ -205,8 +205,8 @@ func (m *Manager) AddressCount() int { // GoodAddresses returns good working IPs that match both the // passed DNS query type and have the requested services. -func (m *Manager) GoodAddresses(qtype uint16, services wire.ServiceFlag, includeAllSubnetworks bool, subnetworkID *subnetworkid.SubnetworkID) []*wire.NetAddress { - addrs := make([]*wire.NetAddress, 0, defaultMaxAddresses) +func (m *Manager) GoodAddresses(qtype uint16, services domainmessage.ServiceFlag, includeAllSubnetworks bool, subnetworkID *subnetworkid.SubnetworkID) []*domainmessage.NetAddress { + addrs := make([]*domainmessage.NetAddress, 0, defaultMaxAddresses) i := defaultMaxAddresses if qtype != dns.TypeA && qtype != dns.TypeAAAA { @@ -262,7 +262,7 @@ func (m *Manager) Attempt(ip net.IP) { } // Good updates the last successful connection attempt for the specified ip address to now -func (m *Manager) Good(ip net.IP, services wire.ServiceFlag, subnetworkid *subnetworkid.SubnetworkID) { +func (m *Manager) Good(ip net.IP, services domainmessage.ServiceFlag, subnetworkid *subnetworkid.SubnetworkID) { m.mtx.Lock() node, exists := m.nodes[ip.String()] if exists {