Updated verbose swarm to not ping peers.
License: MIT Signed-off-by: Chris Sasarak <chris.sasarak@gmail.com>
Chris Sasarak committed
May 17, 2016 at 22:28 UTC
584d49694e05960207c07547e03e89131622ae62
1 file changed
+3
-20
core/commands/swarm.go
+3
-20
@@ -7,7 +7,6 @@ import (
7
"io"
8
"path"
9
"sort"
10
- "time"
10
11
cmds "github.com/ipfs/go-ipfs/commands"
12
iaddr "github.com/ipfs/go-ipfs/thirdparty/ipfsaddr"
@@ -16,7 +15,6 @@ import (
15
16
mafilter "gx/ipfs/QmUaRHbB7pUwj5mS9BS4CMvBiW48MpaH2wbGxeWfFhhHxK/multiaddr-filter"
17
ma "gx/ipfs/QmYzDkkgAEmrcNzFCiYo6L1dTX4EAG1gZkbtdbd9trL4vd/go-multiaddr"
19
- context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
18
)
19
20
type stringList struct {
@@ -54,12 +52,10 @@ var swarmPeersCmd = &cmds.Command{
52
},
53
Options: []cmds.Option{
54
cmds.BoolOption("verbose", "v",
57
- `Also display latency along with peer information in the following form:
58
- <peer address> <latency>
59
- `),
55
+ "Also display latency along with peer information in the following form: "+
56
+ "<peer address> <latency>"),
57
},
58
Run: func(req cmds.Request, res cmds.Response) {
62
- timeout := time.Duration(5) * time.Second
59
60
log.Debug("ipfs swarm peers")
61
n, err := req.InvocContext().GetNode()
@@ -76,26 +72,13 @@ var swarmPeersCmd = &cmds.Command{
72
verbose, _, _ := req.Option("verbose").Bool()
73
conns := n.PeerHost.Network().Conns()
74
addrs := make([]string, len(conns))
79
- pingService := n.Ping
75
76
for i, c := range conns {
77
pid := c.RemotePeer()
78
addr := c.RemoteMultiaddr()
79
80
if verbose {
86
- pContext, cancelFn := context.WithTimeout(req.Context(), timeout)
87
- defer cancelFn()
88
-
89
- ch, _ := pingService.Ping(pContext, pid)
90
- duration := <-ch
91
- var durStr string
92
-
93
- if pContext.Err() != nil {
94
- durStr = pContext.Err().Error()
95
- } else {
96
- durStr = duration.String()
97
- }
98
- addrs[i] = fmt.Sprintf("%s/ipfs/%s %s", addr, pid.Pretty(), durStr)
81
+ addrs[i] = fmt.Sprintf("%s/ipfs/%s %s", addr, pid.Pretty(), n.Peerstore.LatencyEWMA(pid))
82
} else {
83
addrs[i] = fmt.Sprintf("%s/ipfs/%s", addr, pid.Pretty())
84
}