cmds/swarm connect had broken
Juan Batiz-Benet committed
Feb 3, 2015 at 04:57 UTC
10cd499a8b638262440537c8bce286feae63bd84
2 files changed
+13
-10
core/commands/swarm.go
+12
-9
@@ -12,6 +12,7 @@ import (
12
iaddr "github.com/jbenet/go-ipfs/util/ipfsaddr"
13
14
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
15
+ ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
16
)
17
18
type stringList struct {
@@ -172,17 +173,17 @@ ipfs swarm connect /ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3
173
return
174
}
175
175
- peers, err := peersWithAddresses(n.Peerstore, addrs)
176
+ pis, err := peersWithAddresses(addrs)
177
if err != nil {
178
res.SetError(err, cmds.ErrNormal)
179
return
180
}
181
181
- output := make([]string, len(peers))
182
- for i, p := range peers {
183
- output[i] = "connect " + p.Pretty()
182
+ output := make([]string, len(pis))
183
+ for i, pi := range pis {
184
+ output[i] = "connect " + pi.ID.Pretty()
185
185
- err := n.PeerHost.Connect(ctx, peer.PeerInfo{ID: p})
186
+ err := n.PeerHost.Connect(ctx, pi)
187
if err != nil {
188
output[i] += " failure: " + err.Error()
189
} else {
@@ -294,15 +295,17 @@ func parseAddresses(addrs []string) (iaddrs []iaddr.IPFSAddr, err error) {
295
296
// peersWithAddresses is a function that takes in a slice of string peer addresses
297
// (multiaddr + peerid) and returns a slice of properly constructed peers
297
-func peersWithAddresses(ps peer.Peerstore, addrs []string) (pids []peer.ID, err error) {
298
+func peersWithAddresses(addrs []string) (pis []peer.PeerInfo, err error) {
299
iaddrs, err := parseAddresses(addrs)
300
if err != nil {
301
return nil, err
302
}
303
304
for _, iaddr := range iaddrs {
304
- pids = append(pids, iaddr.ID())
305
- ps.AddAddr(iaddr.ID(), iaddr.Multiaddr(), peer.TempAddrTTL)
305
+ pis = append(pis, peer.PeerInfo{
306
+ ID: iaddr.ID(),
307
+ Addrs: []ma.Multiaddr{iaddr.Transport()},
308
+ })
309
}
307
- return pids, nil
310
+ return pis, nil
311
}
p2p/net/swarm/swarm_dial.go
+1
-1
@@ -301,7 +301,7 @@ func (s *Swarm) dial(ctx context.Context, p peer.ID) (*Conn, error) {
301
ila, _ := s.InterfaceListenAddresses()
302
remoteAddrs = addrutil.Subtract(remoteAddrs, ila)
303
remoteAddrs = addrutil.Subtract(remoteAddrs, s.peers.Addrs(s.local))
304
- log.Debugf("%s swarm dialing %s -- remote:%s local:%s", s.local, p, remoteAddrs, s.ListenAddresses())
304
+ log.Debugf("%s swarm dialing %s -- local:%s remote:%s", s.local, p, s.ListenAddresses(), remoteAddrs)
305
if len(remoteAddrs) == 0 {
306
err := errors.New("peer has no addresses")
307
logdial["error"] = err