/* */ #include "BitfieldMessage.h" #include "PeerInteraction.h" #include "PeerMessageUtil.h" #include "Util.h" void BitfieldMessage::setBitfield(const unsigned char* bitfield, int bitfieldLength) { if(this->bitfield != NULL) { delete [] this->bitfield; } this->bitfieldLength = bitfieldLength; this->bitfield = new unsigned char[this->bitfieldLength]; memcpy(this->bitfield, bitfield, this->bitfieldLength); } void BitfieldMessage::receivedAction() { peer->setBitfield(bitfield, bitfieldLength); } void BitfieldMessage::send() { peerInteraction->getPeerConnection()->sendBitfield(); } void BitfieldMessage::check() const { PeerMessageUtil::checkBitfield(bitfield, bitfieldLength, pieces); } string BitfieldMessage::toString() const { return "bitfield "+Util::toHex(bitfield, bitfieldLength); }