Commit 497297b2 authored by Juan Batiz-Benet's avatar Juan Batiz-Benet

net/mocknet: fixed listenaddrs (misrepresenting)

some dht tests signaled "sending peer empty addresses"
which would then cause a failure. this was a misrepresentation
on the part of mocknet. it has been corrected.
parent 4fe1dd9b
......@@ -117,6 +117,7 @@ func (ids *IDService) populateMessage(mes *pb.Handshake3, c Conn) {
for i, addr := range laddrs {
mes.ListenAddrs[i] = addr.Bytes()
}
log.Debugf("%s sent listen addrs to %s: %s", c.LocalPeer(), c.RemotePeer(), laddrs)
// set protocol versions
mes.H1 = handshake.NewHandshake1("", "")
......
......@@ -62,6 +62,12 @@ func (mn *mocknet) AddPeer(k ic.PrivKey, a ma.Multiaddr) (inet.Network, error) {
return nil, err
}
// make sure to add listening address!
// this makes debugging things simpler as remembering to register
// an address may cause unexpected failure.
n.Peerstore().AddAddress(n.LocalPeer(), a)
log.Debugf("mocknet added listen addr for peer: %s -- %s", n.LocalPeer(), a)
mn.cg.AddChildGroup(n.cg)
mn.Lock()
......
package mocknet
import (
"errors"
"fmt"
"math/rand"
"sync"
......@@ -121,8 +122,6 @@ func (pn *peernet) DialPeer(ctx context.Context, p peer.ID) error {
}
func (pn *peernet) connect(p peer.ID) error {
log.Debugf("%s dialing %s", pn.peer, p)
// first, check if we already have live connections
pn.RLock()
cs, found := pn.connsByPeer[p]
......@@ -131,6 +130,8 @@ func (pn *peernet) connect(p peer.ID) error {
return nil
}
log.Debugf("%s (newly) dialing %s", pn.peer, p)
// ok, must create a new connection. we need a link
links := pn.mocknet.LinksBetweenPeers(pn.peer, p)
if len(links) < 1 {
......@@ -282,14 +283,14 @@ func (pn *peernet) BandwidthTotals() (in uint64, out uint64) {
// ListenAddresses returns a list of addresses at which this network listens.
func (pn *peernet) ListenAddresses() []ma.Multiaddr {
return []ma.Multiaddr{}
return pn.Peerstore().Addresses(pn.LocalPeer())
}
// InterfaceListenAddresses returns a list of addresses at which this network
// listens. It expands "any interface" addresses (/ip4/0.0.0.0, /ip6/::) to
// use the known local interfaces.
func (pn *peernet) InterfaceListenAddresses() ([]ma.Multiaddr, error) {
return []ma.Multiaddr{}, nil
return nil, errors.New("Mocknet does not have interfaces.")
}
// Connectedness returns a state signaling connection capabilities
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment