From 233135493fcbef0d27e1de6e63f3eeba9097b9eb Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Wed, 12 May 2021 21:48:23 +1000 Subject: [PATCH] Improve num requests per piece status output --- peerconn.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/peerconn.go b/peerconn.go index 1721663c..a5d078e0 100644 --- a/peerconn.go +++ b/peerconn.go @@ -8,6 +8,7 @@ import ( "io" "math/rand" "net" + "sort" "strconv" "strings" "sync" @@ -366,8 +367,19 @@ func (cn *Peer) writeStatus(w io.Writer, t *Torrent) { cn.downloadRate()/(1<<10), ) fmt.Fprintf(w, " requested pieces:") + type pieceNumRequestsType struct { + piece pieceIndex + numRequests int + } + var pieceNumRequests []pieceNumRequestsType for piece, count := range cn.numRequestsByPiece() { - fmt.Fprintf(w, " %v (%v)", piece, count) + pieceNumRequests = append(pieceNumRequests, pieceNumRequestsType{piece, count}) + } + sort.Slice(pieceNumRequests, func(i, j int) bool { + return pieceNumRequests[i].piece < pieceNumRequests[j].piece + }) + for _, elem := range pieceNumRequests { + fmt.Fprintf(w, " %v(%v)", elem.piece, elem.numRequests) } fmt.Fprintf(w, "\n") } -- 2.48.1