]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Move request-strategy into internal
authorMatt Joiner <anacrolix@gmail.com>
Mon, 23 Jun 2025 05:53:12 +0000 (15:53 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 23 Jun 2025 05:53:12 +0000 (15:53 +1000)
21 files changed:
client-piece-request-order.go
internal/request-strategy/NOTES.md [moved from request-strategy/NOTES.md with 100% similarity]
internal/request-strategy/ajwerner-btree.go [moved from request-strategy/ajwerner-btree.go with 100% similarity]
internal/request-strategy/order.go [moved from request-strategy/order.go with 100% similarity]
internal/request-strategy/peer.go [moved from request-strategy/peer.go with 100% similarity]
internal/request-strategy/piece-request-order.go [moved from request-strategy/piece-request-order.go with 100% similarity]
internal/request-strategy/piece-request-order_test.go [moved from request-strategy/piece-request-order_test.go with 100% similarity]
internal/request-strategy/piece.go [moved from request-strategy/piece.go with 100% similarity]
internal/request-strategy/tidwall-btree.go [moved from request-strategy/tidwall-btree.go with 100% similarity]
internal/request-strategy/torrent.go [moved from request-strategy/torrent.go with 100% similarity]
ordered-bitmap.go
peer.go
request-strategy-impls.go
request-strategy-impls_test.go
requesting.go
roaring.go
storage/sqlite-piece-completion.go
tests/add-webseed-after-priorities/herp_test.go
torrent-piece-request-order.go
torrent.go
webseed-requesting.go

index b4ad07dade3575372ced00a2c515ab7ba8b81a91..0984b40996f9051f161e892c8ec7863a1116bbaa 100644 (file)
@@ -1,7 +1,7 @@
 package torrent
 
 import (
-       requestStrategy "github.com/anacrolix/torrent/request-strategy"
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/storage"
 )
 
index 2163a37574273305ca9dd4a9722e11be8d81358d..340d9c4330e120d266a2da6f74f6be16883538e5 100644 (file)
@@ -6,7 +6,7 @@ import (
        g "github.com/anacrolix/generics"
        list "github.com/bahlo/generic-list-go"
 
-       "github.com/anacrolix/torrent/typed-roaring"
+       typedRoaring "github.com/anacrolix/torrent/typed-roaring"
 )
 
 type orderedBitmap[T typedRoaring.BitConstraint] struct {
diff --git a/peer.go b/peer.go
index fb66d631d9eba75a9f987dda86bedc76ad6ad605..70459d805374a70f17e48892fb88fd978cb43a02 100644 (file)
--- a/peer.go
+++ b/peer.go
@@ -19,9 +19,9 @@ import (
        "github.com/anacrolix/multiless"
 
        "github.com/anacrolix/torrent/internal/alloclim"
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/mse"
        pp "github.com/anacrolix/torrent/peer_protocol"
-       request_strategy "github.com/anacrolix/torrent/request-strategy"
        typedRoaring "github.com/anacrolix/torrent/typed-roaring"
 )
 
@@ -61,7 +61,7 @@ type (
                // Stuff controlled by the local peer.
                needRequestUpdate updateRequestReason
                // TODO: How are pending cancels handled for webseed peers?
-               requestState         request_strategy.PeerRequestState
+               requestState         requestStrategy.PeerRequestState
                updateRequestsTimer  *time.Timer
                lastRequestUpdate    time.Time
                peakRequests         maxRequests
@@ -287,7 +287,7 @@ func (cn *Peer) iterContiguousPieceRequests(f func(piece pieceIndex, count int))
                        count = 1
                }
        }
-       cn.requestState.Requests.Iterate(func(requestIndex request_strategy.RequestIndex) bool {
+       cn.requestState.Requests.Iterate(func(requestIndex requestStrategy.RequestIndex) bool {
                next(Some(cn.t.pieceIndexOfRequestIndex(requestIndex)))
                return true
        })
index fd52db64be652535af415053e791642a4fc2bbea..500110c3f27002379b20ee57288b5ca1748e4abe 100644 (file)
@@ -3,8 +3,8 @@ package torrent
 import (
        g "github.com/anacrolix/generics"
 
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/metainfo"
-       request_strategy "github.com/anacrolix/torrent/request-strategy"
        "github.com/anacrolix/torrent/storage"
 )
 
@@ -22,7 +22,7 @@ type requestStrategyInputMultiTorrent struct {
        capFunc  storage.TorrentCapacity
 }
 
-func (r requestStrategyInputMultiTorrent) Torrent(ih metainfo.Hash) request_strategy.Torrent {
+func (r requestStrategyInputMultiTorrent) Torrent(ih metainfo.Hash) requestStrategy.Torrent {
        return requestStrategyTorrent{g.MapMustGet(r.torrents, ih)}
 }
 
@@ -38,7 +38,7 @@ type requestStrategyInputSingleTorrent struct {
        t *Torrent
 }
 
-func (r requestStrategyInputSingleTorrent) Torrent(_ metainfo.Hash) request_strategy.Torrent {
+func (r requestStrategyInputSingleTorrent) Torrent(_ metainfo.Hash) requestStrategy.Torrent {
        return requestStrategyTorrent{r.t}
 }
 
@@ -46,14 +46,14 @@ func (r requestStrategyInputSingleTorrent) Capacity() (cap int64, capped bool) {
        return 0, false
 }
 
-var _ request_strategy.Input = requestStrategyInputSingleTorrent{}
+var _ requestStrategy.Input = requestStrategyInputSingleTorrent{}
 
 // getRequestStrategyInputCommon returns request strategy Input implementation common to all inputs.
 func (cl *Client) getRequestStrategyInputCommon() requestStrategyInputCommon {
        return requestStrategyInputCommon{cl.config.MaxUnverifiedBytes}
 }
 
-func (t *Torrent) getRequestStrategyInput() request_strategy.Input {
+func (t *Torrent) getRequestStrategyInput() requestStrategy.Input {
        return t.clientPieceRequestOrderKey().getRequestStrategyInput(t.cl)
 }
 
@@ -62,7 +62,7 @@ type requestStrategyTorrent struct {
        t *Torrent
 }
 
-func (r requestStrategyTorrent) Piece(i int) request_strategy.Piece {
+func (r requestStrategyTorrent) Piece(i int) requestStrategy.Piece {
        return requestStrategyPiece{r.t.piece(i)}
 }
 
@@ -70,7 +70,7 @@ func (r requestStrategyTorrent) PieceLength() int64 {
        return r.t.info.PieceLength
 }
 
-var _ request_strategy.Torrent = requestStrategyTorrent{}
+var _ requestStrategy.Torrent = requestStrategyTorrent{}
 
 type requestStrategyPiece struct {
        p *Piece
@@ -84,4 +84,4 @@ func (r requestStrategyPiece) Request() bool {
        return !r.p.ignoreForRequests() && r.p.purePriority() != PiecePriorityNone
 }
 
-var _ request_strategy.Piece = requestStrategyPiece{}
+var _ requestStrategy.Piece = requestStrategyPiece{}
index 6bcd9981f8edf33a38d2faeb5dc4fa07414bf37a..cd0f85eaad15b7729ada382e2af6233dcf98884b 100644 (file)
@@ -9,15 +9,15 @@ import (
        g "github.com/anacrolix/generics"
        "github.com/anacrolix/missinggo/v2/iter"
        "github.com/davecgh/go-spew/spew"
-       qt "github.com/go-quicktest/qt"
+       "github.com/go-quicktest/qt"
 
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/metainfo"
-       request_strategy "github.com/anacrolix/torrent/request-strategy"
        "github.com/anacrolix/torrent/storage"
        infohash_v2 "github.com/anacrolix/torrent/types/infohash-v2"
 )
 
-func makeRequestStrategyPiece(t request_strategy.Torrent) request_strategy.Piece {
+func makeRequestStrategyPiece(t requestStrategy.Torrent) requestStrategy.Piece {
        return t.Piece(0)
 }
 
index 3eeaeb7946341a6a932ea82dba134dd3623f5ab6..26e56e4572e7cb19b2246fee957d951ee2efe9df 100644 (file)
@@ -15,8 +15,8 @@ import (
        "github.com/anacrolix/log"
        "github.com/anacrolix/multiless"
 
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/metainfo"
-       requestStrategy "github.com/anacrolix/torrent/request-strategy"
        typedRoaring "github.com/anacrolix/torrent/typed-roaring"
 )
 
index 8e39416cd7446be4874ad0718f09ff96ee6b12df..f8e622b1163072364650d041598aa2eb39a1348a 100644 (file)
@@ -1,8 +1,6 @@
 package torrent
 
-import (
-       "github.com/anacrolix/torrent/typed-roaring"
-)
+import typedRoaring "github.com/anacrolix/torrent/typed-roaring"
 
 // Return the number of bits set in the range. To do this we need the rank of the item before the
 // first, and the rank of the last item. An off-by-one minefield. Hopefully I haven't missed
index 7005dacb575daf450fdc78da4f10843de6198531..f57730b4124ac685f08c176144579b809ac7b5fa 100644 (file)
@@ -11,7 +11,7 @@ import (
        "path/filepath"
        "sync"
 
-       "github.com/go-llsqlite/adapter"
+       sqlite "github.com/go-llsqlite/adapter"
        "github.com/go-llsqlite/adapter/sqlitex"
 
        "github.com/anacrolix/torrent/metainfo"
index 8c4bad2cc7bd564c11b83e0a39ec64eb56b602c0..29ceb23de724cd9b859ba2ecb1efb58826b91c10 100644 (file)
@@ -1,13 +1,14 @@
 package webseed_partial_seed
 
 import (
-       "github.com/anacrolix/torrent"
-       "github.com/anacrolix/torrent/internal/testutil"
-       qt "github.com/go-quicktest/qt"
        "path/filepath"
        "runtime"
        "testing"
        "time"
+
+       "github.com/anacrolix/torrent"
+       "github.com/anacrolix/torrent/internal/testutil"
+       qt "github.com/go-quicktest/qt"
 )
 
 func testSrcDir() string {
index f23144aae1bc92f00da4eed62e66d1a49918847a..1e6cde0b50c5711e8156e25c3499427ac9222711 100644 (file)
@@ -3,7 +3,7 @@ package torrent
 import (
        g "github.com/anacrolix/generics"
 
-       request_strategy "github.com/anacrolix/torrent/request-strategy"
+       requestStrategy "github.com/anacrolix/torrent/internal/request-strategy"
 )
 
 // It's probably possible to track whether the piece moves around in the btree to be more efficient
@@ -62,7 +62,7 @@ func (t *Torrent) initPieceRequestOrder() {
        cpro := t.cl.pieceRequestOrder
        if _, ok := cpro[key]; !ok {
                value := clientPieceRequestOrderValue{
-                       pieces: request_strategy.NewPieceOrder(request_strategy.NewAjwernerBtree(), t.numPieces()),
+                       pieces: requestStrategy.NewPieceOrder(requestStrategy.NewAjwernerBtree(), t.numPieces()),
                }
                g.MakeMap(&value.torrents)
                cpro[key] = value
@@ -81,7 +81,7 @@ func (t *Torrent) addRequestOrderPiece(i int) {
        }
 }
 
-func (t *Torrent) getPieceRequestOrder() *request_strategy.PieceRequestOrder {
+func (t *Torrent) getPieceRequestOrder() *requestStrategy.PieceRequestOrder {
        if t.storage == nil {
                return nil
        }
index 0b2f01b4dffd993b95014db06258d1f9a64c35d7..b39ccffdeebf953fadf8205fadc18230da2acdbc 100644 (file)
@@ -41,11 +41,11 @@ import (
        "github.com/anacrolix/torrent/bencode"
        "github.com/anacrolix/torrent/internal/check"
        "github.com/anacrolix/torrent/internal/nestedmaps"
+       request_strategy "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/merkle"
        "github.com/anacrolix/torrent/metainfo"
        pp "github.com/anacrolix/torrent/peer_protocol"
        utHolepunch "github.com/anacrolix/torrent/peer_protocol/ut-holepunch"
-       request_strategy "github.com/anacrolix/torrent/request-strategy"
        "github.com/anacrolix/torrent/storage"
        "github.com/anacrolix/torrent/tracker"
        typedRoaring "github.com/anacrolix/torrent/typed-roaring"
index 607cba409f1762a5f8ef65c9d38cd9cd96bfbfe7..99b8d25f9a279c54d61494f9b0c22c54799dde9c 100644 (file)
@@ -3,8 +3,8 @@ package torrent
 import (
        "unique"
 
+       requestStrategy2 "github.com/anacrolix/torrent/internal/request-strategy"
        "github.com/anacrolix/torrent/metainfo"
-       requestStrategy "github.com/anacrolix/torrent/request-strategy"
 )
 
 type (
@@ -23,10 +23,10 @@ This was a globally aware webseed requestor algorithm that is probably going to
 func (cl *Client) abandonedUpdateWebSeedRequests() {
        for key, value := range cl.pieceRequestOrder {
                input := key.getRequestStrategyInput(cl)
-               requestStrategy.GetRequestablePieces(
+               requestStrategy2.GetRequestablePieces(
                        input,
                        value.pieces,
-                       func(ih metainfo.Hash, pieceIndex int, orderState requestStrategy.PieceRequestOrderState) bool {
+                       func(ih metainfo.Hash, pieceIndex int, orderState requestStrategy2.PieceRequestOrderState) bool {
                                return true
                        },
                )