/* */ #ifndef _D_PEER_MESSAGE_UTIL_H_ #define _D_PEER_MESSAGE_UTIL_H_ #include "common.h" #include "HandshakeMessage.h" #define MAX_BLOCK_LENGTH (128*1024) class PeerMessageUtil { private: PeerMessageUtil() {} public: static int getIntParam(const char* msg, int offset); static int getShortIntParam(const char* msg, int offset); static void setIntParam(char* dest, int param); static int getId(const char* msg); static void checkIndex(int index, int pieces); static void checkBegin(int begin, int pieceLength); static void checkLength(int length); static void checkRange(int begin, int length, int pieceLength); static void checkBitfield(const unsigned char* bitfield, int bitfieldLength, int pieces); static void checkHandshake(const HandshakeMessage* message, const unsigned char* infoHash); static void createPeerMessageString(char* msg, int msgLength, int payloadLength, int messageId); }; #endif // _D_PEER_MESSAGE_UTIL_H_