/* */ #ifndef D_PIECE_STAT_MAN_H #define D_PIECE_STAT_MAN_H #include "common.h" #include #include "SharedHandle.h" namespace aria2 { class PieceStatMan { private: std::vector order_; std::vector counts_; public: PieceStatMan(size_t pieceNum, bool randomShuffle); ~PieceStatMan(); void addPieceStats(size_t index); void addPieceStats(const unsigned char* bitfield, size_t bitfieldLength); void subtractPieceStats(const unsigned char* bitfield, size_t bitfieldLength); void updatePieceStats(const unsigned char* newBitfield, size_t newBitfieldLength, const unsigned char* oldBitfield); const std::vector& getOrder() const { return order_; } const std::vector& getCounts() const { return counts_; } }; } // namespace aria2 #endif // D_PIECE_STAT_MAN_H