routing table: better printing (see bkts)
Juan Batiz-Benet committed
Dec 23, 2014 at 22:05 UTC
596602f37f870d3104a1868b561a3d569e49eb71
1 file changed
+10
-3
routing/kbucket/table.go
+10
-3
@@ -223,9 +223,16 @@ func (rt *RoutingTable) ListPeers() []peer.ID {
223
func (rt *RoutingTable) Print() {
224
fmt.Printf("Routing Table, bs = %d, Max latency = %d\n", rt.bucketsize, rt.maxLatency)
225
rt.tabLock.RLock()
226
- peers := rt.ListPeers()
227
- for i, p := range peers {
228
- fmt.Printf("%d) %s %s\n", i, p.Pretty(), rt.metrics.LatencyEWMA(p).String())
226
+
227
+ for i, b := range rt.Buckets {
228
+ fmt.Printf("\tbucket: %d\n", i)
229
+
230
+ b.lk.RLock()
231
+ for e := b.list.Front(); e != nil; e = e.Next() {
232
+ p := e.Value.(peer.ID)
233
+ fmt.Printf("\t\t- %s %s\n", p.Pretty(), rt.metrics.LatencyEWMA(p).String())
234
+ }
235
+ b.lk.RUnlock()
236
}
237
rt.tabLock.RUnlock()
238
}