/* */ #ifndef D_BT_BITFIELD_MESSAGE_H #define D_BT_BITFIELD_MESSAGE_H #include "SimpleBtMessage.h" namespace aria2 { class BtBitfieldMessage : public SimpleBtMessage { private: std::vector bitfield_; public: BtBitfieldMessage(); BtBitfieldMessage(const unsigned char* bitfield, size_t bitfieldLength); virtual ~BtBitfieldMessage(); static const uint8_t ID = 5; static const char NAME[]; void setBitfield(const unsigned char* bitfield, size_t bitfieldLength); const unsigned char* getBitfield() const { return bitfield_.data(); } size_t getBitfieldLength() const { return bitfield_.size(); } static std::unique_ptr create(const unsigned char* data, size_t dataLength); virtual void doReceivedAction() CXX11_OVERRIDE; virtual std::vector createMessage() CXX11_OVERRIDE; virtual std::string toString() const CXX11_OVERRIDE; }; } // namespace aria2 #endif // D_BT_BITFIELD_MESSAGE_H