/* */ #ifndef _D_BT_PIECE_MESSAGE_VALIDATOR_H_ #define _D_BT_PIECE_MESSAGE_VALIDATOR_H_ #include "BtMessageValidator.h" #include "BtPieceMessage.h" #include "bittorrent_helper.h" namespace aria2 { class BtPieceMessageValidator : public BtMessageValidator { private: const BtPieceMessage* message_; size_t numPiece_; size_t pieceLength_; public: BtPieceMessageValidator(const BtPieceMessage* message, size_t numPiece, size_t pieceLength): message_(message), numPiece_(numPiece), pieceLength_(pieceLength) {} virtual void validate() { bittorrent::checkIndex(message_->getIndex(), numPiece_); bittorrent::checkBegin(message_->getBegin(), pieceLength_); } }; typedef SharedHandle BtPieceMessageValidatorHandle; } // namespace aria2 #endif // _D_BT_PIECE_MESSAGE_VALIDATOR_H_