code: func (srv *Server) PeersInfo() []*PeerInfo {
  	// Gather all the generic and sub-protocol specific infos
  	infos := make([]*PeerInfo, 0, srv.PeerCount())
  	for _, peer := range srv.Peers() {
  		if peer != nil {
  			infos = append(infos, peer.Info())
  		}
  	}
  	// Sort the result array alphabetically by node identifier
  	for i := 0; i < len(infos); i++ {
  		for j := i + 1; j < len(infos); j++ {
  			if infos[i].ID > infos[j].ID {
  				infos[i], infos[j] = infos[j], infos[i]
  			}
  		}
  	}
  	return infos
  }
docs: // PeersInfo returns an array of metadata objects describing connected peers.