/* */ #ifndef _D_REQUEST_MESSAGE_H_ #define _D_REQUEST_MESSAGE_H_ #include "SimplePeerMessage.h" #include "TorrentMan.h" class RequestMessage : public SimplePeerMessage { private: int index; int begin; int length; int blockIndex; // for check int pieces; int pieceLength; char msg[17]; public: RequestMessage():SimplePeerMessage(), index(0), begin(0), length(0), blockIndex(0), pieces(0), pieceLength(0) {} virtual ~RequestMessage() {} enum ID_t { ID = 6 }; int getIndex() const { return index; } void setIndex(int index) { this->index = index; } int getBegin() const { return begin; } void setBegin(int begin) { this->begin = begin; } int getLength() const { return length; } void setLength(int length) { this->length = length; } int getBlockIndex() const { return blockIndex; } void setBlockIndex(int blockIndex) { this->blockIndex = blockIndex; } void setPieces(int pieces) { this->pieces = pieces; } int getPieces() const { return pieces;} void setPieceLength(int pieceLength) { this->pieceLength = pieceLength; } int getPieceLength() const { return pieceLength;} static RequestMessage* create(const char* data, int dataLength); virtual int getId() const { return ID; } virtual void receivedAction(); virtual const char* getMessage(); virtual int getMessageLength(); virtual void check() const; virtual string toString() const; }; #endif // _D_REQUEST_MESSAGE_H_