"github.com/anacrolix/missinggo"
"github.com/anacrolix/missinggo/pproffd"
"github.com/anacrolix/missinggo/pubsub"
+ "github.com/anacrolix/missinggo/slices"
"github.com/anacrolix/sync"
"github.com/anacrolix/utp"
"github.com/dustin/go-humanize"
func (cl *Client) AddTorrent(mi *metainfo.MetaInfo) (T *Torrent, err error) {
T, _, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
var ss []string
- missinggo.CastSlice(&ss, mi.Nodes)
+ slices.MakeInto(&ss, mi.Nodes)
cl.AddDHTNodes(ss)
return
}
"github.com/anacrolix/missinggo"
"github.com/anacrolix/missinggo/bitmap"
"github.com/anacrolix/missinggo/prioritybitmap"
+ "github.com/anacrolix/missinggo/slices"
"github.com/bradfitz/iter"
"github.com/anacrolix/torrent/bencode"
if c.t.seeding() {
lasts = append(lasts, c.lastChunkSent)
}
- return missinggo.Max(time.Time.Before, missinggo.ConvertToSliceOfEmptyInterface(lasts)...).(time.Time)
+ return missinggo.Max(time.Time.Before, slices.ToEmptyInterface(lasts)...).(time.Time)
}
"strings"
"time"
- "github.com/anacrolix/missinggo"
-
+ "github.com/anacrolix/missinggo/slices"
"github.com/anacrolix/torrent/bencode"
)
if err != nil {
return
}
- missinggo.SortSlice(info.Files, func(l, r FileInfo) bool {
+ slices.Sort(info.Files, func(l, r FileInfo) bool {
return strings.Join(l.Path, "/") < strings.Join(r.Path, "/")
})
err = info.GeneratePieces(func(fi FileInfo) (io.ReadCloser, error) {
"github.com/anacrolix/missinggo/itertools"
"github.com/anacrolix/missinggo/perf"
"github.com/anacrolix/missinggo/pubsub"
+ "github.com/anacrolix/missinggo/slices"
"github.com/bradfitz/iter"
"github.com/anacrolix/torrent/bencode"
fmt.Fprintf(w, "Pending peers: %d\n", len(t.peers))
fmt.Fprintf(w, "Half open: %d\n", len(t.halfOpen))
fmt.Fprintf(w, "Active peers: %d\n", len(t.conns))
- missinggo.SortSlice(t.conns, worseConn)
+ slices.Sort(t.conns, worseConn)
for i, c := range t.conns {
fmt.Fprintf(w, "%2d. ", i+1)
c.WriteStatus(w, t)
// pieces, or has been in worser half of the established connections for more
// than a minute.
func (t *Torrent) worstBadConn() *connection {
- wcs := missinggo.HeapFromSlice(t.worstUnclosedConns(), worseConn)
+ wcs := slices.AsHeap(t.worstUnclosedConns(), worseConn)
for wcs.Len() != 0 {
c := heap.Pop(wcs).(*connection)
if c.UnwantedChunksReceived >= 6 && c.UnwantedChunksReceived > c.UsefulChunksReceived {
defer t.cl.mu.Unlock()
oldMax = t.maxEstablishedConns
t.maxEstablishedConns = max
- wcs := missinggo.HeapFromSlice(append([]*connection(nil), t.conns...), worseConn)
+ wcs := slices.AsHeap(append([]*connection(nil), t.conns...), worseConn)
for len(t.conns) > t.maxEstablishedConns && wcs.Len() > 0 {
t.dropConnection(wcs.Pop().(*connection))
}