cmd/mist: fix peer window
This commit is contained in:
		| @@ -31,6 +31,7 @@ import ( | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"runtime" | ||||
| 	"sort" | ||||
| 	"strconv" | ||||
| 	"time" | ||||
|  | ||||
| @@ -449,6 +450,7 @@ func (gui *Gui) update() { | ||||
|  | ||||
| 		case <-peerUpdateTicker.C: | ||||
| 			gui.setPeerInfo() | ||||
|  | ||||
| 		case <-generalUpdateTicker.C: | ||||
| 			statusText := "#" + gui.eth.ChainManager().CurrentBlock().Number().String() | ||||
| 			lastBlockLabel.Set("text", statusText) | ||||
| @@ -499,12 +501,34 @@ NumGC:      %d | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| type qmlpeer struct{ Addr, NodeID, Caps string } | ||||
|  | ||||
| type peersByID []*qmlpeer | ||||
|  | ||||
| func (s peersByID) Len() int           { return len(s) } | ||||
| func (s peersByID) Less(i, j int) bool { return s[i].NodeID < s[j].NodeID } | ||||
| func (s peersByID) Swap(i, j int)      { s[i], s[j] = s[j], s[i] } | ||||
|  | ||||
| func (gui *Gui) setPeerInfo() { | ||||
| 	gui.win.Root().Call("setPeers", fmt.Sprintf("%d / %d", gui.eth.PeerCount(), gui.eth.MaxPeers)) | ||||
| 	gui.win.Root().Call("resetPeers") | ||||
| 	//for _, peer := range gui.xeth.Peers() { | ||||
| 	//gui.win.Root().Call("addPeer", peer) | ||||
| 	//} | ||||
| 	peers := gui.eth.Peers() | ||||
| 	qpeers := make(peersByID, len(peers)) | ||||
| 	for i, p := range peers { | ||||
| 		qpeers[i] = &qmlpeer{ | ||||
| 			NodeID: p.ID().String(), | ||||
| 			Addr:   p.RemoteAddr().String(), | ||||
| 			Caps:   fmt.Sprint(p.Caps()), | ||||
| 		} | ||||
| 	} | ||||
| 	// we need to sort the peers because they jump around randomly | ||||
| 	// otherwise. order returned by eth.Peers is random because they | ||||
| 	// are taken from a map. | ||||
| 	sort.Sort(qpeers) | ||||
|  | ||||
| 	gui.win.Root().Call("setPeerCounters", fmt.Sprintf("%d / %d", len(peers), gui.eth.MaxPeers())) | ||||
| 	gui.win.Root().Call("clearPeers") | ||||
| 	for _, p := range qpeers { | ||||
| 		gui.win.Root().Call("addPeer", p) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (gui *Gui) privateKey() string { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user