/* */ #ifndef _D_PEER_MESSAGE_FACTORY_H_ #define _D_PEER_MESSAGE_FACTORY_H_ #include "common.h" #include "PeerMessage.h" #include "HandshakeMessage.h" class PeerInteraction; class PeerMessageFactory { private: int cuid; PeerInteraction* peerInteraction; PeerHandle peer; void setPeerMessageCommonProperty(PeerMessageHandle& peerMessage) const; public: PeerMessageFactory(int cuid, PeerInteraction* peerInteraction, const PeerHandle& peer); ~PeerMessageFactory(); PeerMessageHandle createPeerMessage(const char* msg, int msgLength) const; PeerMessageHandle createHandshakeMessage(const char* msg, int msgLength) const; PeerMessageHandle createHandshakeMessage(const unsigned char* infoHash, const char* peerId) const; PeerMessageHandle createRequestMessage(const Piece& piece, int blockIndex) const; PeerMessageHandle createCancelMessage(int index, int begin, int length) const; PeerMessageHandle createPieceMessage(int index, int begin, int length) const; PeerMessageHandle createHaveMessage(int index) const; PeerMessageHandle createChokeMessage() const; PeerMessageHandle createUnchokeMessage() const; PeerMessageHandle createInterestedMessage() const; PeerMessageHandle createNotInterestedMessage() const; PeerMessageHandle createBitfieldMessage() const; PeerMessageHandle createKeepAliveMessage() const; PeerMessageHandle createHaveAllMessage() const; PeerMessageHandle createHaveNoneMessage() const; PeerMessageHandle createRejectMessage(int index, int begin, int length) const; PeerMessageHandle createAllowedFastMessage(int index) const; }; #endif // _D_PEER_MESSAGE_FACTORY_H_