From 044c6474b21bf4fc94b22daeecae6c84af979dc0 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 23 Nov 2015 17:23:49 +0000 Subject: [PATCH] Remove counting of ring tokens, since it isn't useful to end-user. Previously the count of tokens was claimed to be a count of addresses in use, which is incorrect. Also rename `appendAddresses` to `appendOwned` since it doesn't involve addresses. --- prog/weaver/http.go | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/prog/weaver/http.go b/prog/weaver/http.go index c1474901..dbf64c75 100644 --- a/prog/weaver/http.go +++ b/prog/weaver/http.go @@ -38,31 +38,21 @@ var rootTemplate = template.New("root").Funcs(map[string]interface{}{ type stats struct { Ranges []address.Range - Addresses []address.Address Reachable bool } peerStats := make(map[mesh.PeerName]*stats) - getOrCreateStats := func(peer mesh.PeerName) *stats { + + for peer, ranges := range status.Ring.OwnedRangesByPeer() { s, found := peerStats[peer] if !found { s = &stats{Reachable: status.IsKnownPeer(peer)} peerStats[peer] = s } - return s + s.Ranges = append(s.Ranges, ranges...) } - for _, entry := range status.Ring.Entries { - stats := getOrCreateStats(entry.Peer) - stats.Addresses = append(stats.Addresses, entry.Token) - } - - for peer, ranges := range status.Ring.OwnedRangesByPeer() { - stats := getOrCreateStats(peer) - stats.Ranges = append(stats.Ranges, ranges...) - } - - appendAddresses := func(peer mesh.PeerName, nickName string, reachable bool, addresses []address.Address, ranges []address.Range) { + appendOwned := func(peer mesh.PeerName, nickName string, reachable bool, ranges []address.Range) { reachableStr := "" if !reachable { reachableStr = "- unreachable!" @@ -74,13 +64,13 @@ var rootTemplate = template.New("root").Funcs(map[string]interface{}{ percentageRanges := float32(ipsInRange) * 100.0 / float32(status.RangeNumIPs) displayName := peer.String() + "(" + nickName + ")" - fmt.Fprintf(&buffer, "%20s: %8d IPs (%04.1f%% of total) - used: %d %s\n", - displayName, ipsInRange, percentageRanges, len(addresses), reachableStr) + fmt.Fprintf(&buffer, "%20s: %8d IPs (%04.1f%% of total) %s\n", + displayName, ipsInRange, percentageRanges, reachableStr) } // print the local addresses if ourStats := peerStats[status.OurName]; ourStats != nil { - appendAddresses(status.OurName, "local", true, ourStats.Addresses, ourStats.Ranges) + appendOwned(status.OurName, "local", true, ourStats.Ranges) } // and then the rest @@ -90,7 +80,7 @@ var rootTemplate = template.New("root").Funcs(map[string]interface{}{ if !found { nickname = peer.String() } - appendAddresses(peer, nickname, stats.Reachable, stats.Addresses, stats.Ranges) + appendOwned(peer, nickname, stats.Reachable, stats.Ranges) } }