Improve client status write-out

This commit is contained in:
Matt Joiner 2014-11-18 14:32:51 -06:00
parent abfa44d6e4
commit c63d36c1b6
1 changed files with 9 additions and 7 deletions

View File

@ -165,13 +165,15 @@ func (cl *Client) WriteStatus(w io.Writer) {
cl.downloadStrategy.WriteStatus(w)
fmt.Fprintln(w)
for _, t := range cl.torrents {
fmt.Fprintf(w, "%s: %f%%\n", t.Name(), func() float32 {
if !t.haveInfo() {
return 0
} else {
return 100 * (1 - float32(t.BytesLeft())/float32(t.Length()))
}
}())
if t.Name() == "" {
fmt.Fprint(w, "<unknown name>")
} else {
fmt.Fprint(w, t.Name())
}
if t.haveInfo() {
fmt.Fprintf(w, ": %f%% of %d bytes", 100*(1-float32(t.BytesLeft())/float32(t.Length())), t.Length())
}
fmt.Fprint(w, "\n")
fmt.Fprint(w, "Blocked reads:")
for _, dw := range cl.dataWaits[t] {
fmt.Fprintf(w, " %d", dw.offset)