func (cl *Client) WriteStatus(w io.Writer) {
cl.mu.Lock()
defer cl.mu.Unlock()
+ fmt.Fprintf(w, "Half open: %d\n", cl.halfOpen)
+ fmt.Fprintf(w, "DHT nodes: %d\n", cl.DHT.NumNodes())
+ fmt.Fprintln(w)
for _, t := range cl.torrents {
fmt.Fprintf(w, "%s: %f%%\n", t.Name(), func() float32 {
if !t.haveInfo() {
}
func (cn *connection) WriteStatus(w io.Writer) {
- fmt.Fprintf(w, "%q: %s-%s: %s completed: ", cn.PeerId, cn.Socket.LocalAddr(), cn.Socket.RemoteAddr(), cn.completedString())
+ fmt.Fprintf(w, "%q: %s-%s: %s completed, reqs: %d-%d, flags: ", cn.PeerId, cn.Socket.LocalAddr(), cn.Socket.RemoteAddr(), cn.completedString(), len(cn.Requests), len(cn.PeerRequests))
c := func(b byte) {
fmt.Fprintf(w, "%c", b)
}
return
}
+func (s *Server) NumNodes() int {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ return len(s.nodes)
+}
+
func (s *Server) Nodes() (nis []NodeInfo) {
s.mu.Lock()
defer s.mu.Unlock()
fmt.Fprintf(w, "\t%v\n", e.Value)
}
}
+ fmt.Fprintf(w, "Pending peers: %d\n", len(t.Peers))
for _, c := range t.Conns {
c.WriteStatus(w)
}