/* */ #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_