20 #ifndef BTCHUNKSELECTOR_H
21 #define BTCHUNKSELECTOR_H
24 #include <util/timer.h>
25 #include <interfaces/chunkselectorinterface.h>
35 class PieceDownloader;
42 class ChunkSelector :
public ChunkSelectorInterface
44 std::list<Uint32> chunks;
48 ~ChunkSelector()
override;
50 void init(ChunkManager* cman, Downloader* downer, PeerManager* pman)
override;
58 bool select(PieceDownloader* pd,Uint32 & chunk)
override;
71 void reincluded(Uint32 from, Uint32 to)
override;
77 void reinsert(Uint32 chunk)
override;
79 bool selectRange(Uint32 & from,Uint32 & to,Uint32 max_len)
override;
81 Uint32 leastPeers(
const std::list<Uint32> & lp,Uint32 alternative,Uint32 max_peers_per_chunk);