Skip to content

Commit

Permalink
2009-09-29 Tatsuhiro Tsujikawa <[email protected]>
Browse files Browse the repository at this point in the history
	Move all functions in PeerMessageUtil to bittorrent_helper.
	* src/BtBitfieldMessage.cc
	* src/BtBitfieldMessageValidator.h
	* src/BtExtendedMessage.cc
	* src/BtHandshakeMessage.cc
	* src/BtHandshakeMessageValidator.h
	* src/BtPieceMessage.cc
	* src/BtPieceMessageValidator.h
	* src/BtPortMessage.cc
	* src/DHTFindNodeReplyMessage.cc
	* src/DHTGetPeersReplyMessage.cc
	* src/DHTMessageFactoryImpl.cc
	* src/DHTRoutingTableDeserializer.cc
	* src/DHTRoutingTableSerializer.cc
	* src/DHTTokenTracker.cc
	* src/DefaultBtMessageFactory.cc
	* src/IndexBtMessage.cc
	* src/IndexBtMessage.h
	* src/IndexBtMessageValidator.h
	* src/Makefile.am
	* src/PeerMessageUtil.cc: Removed.
	* src/PeerMessageUtil.h: Removed.
	* src/RangeBtMessage.cc
	* src/RangeBtMessage.h
	* src/RangeBtMessageValidator.h
	* src/UTPexExtensionMessage.cc
	* src/ZeroBtMessage.cc
	* src/ZeroBtMessage.h
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* test/BittorrentHelperTest.cc
	* test/BtAllowedFastMessageTest.cc
	* test/BtBitfieldMessageTest.cc
	* test/BtCancelMessageTest.cc
	* test/BtChokeMessageTest.cc
	* test/BtExtendedMessageTest.cc
	* test/BtHandshakeMessageTest.cc
	* test/BtHaveAllMessageTest.cc
	* test/BtHaveMessageTest.cc
	* test/BtHaveNoneMessageTest.cc
	* test/BtInterestedMessageTest.cc
	* test/BtNotInterestedMessageTest.cc
	* test/BtPieceMessageTest.cc
	* test/BtPortMessageTest.cc
	* test/BtRejectMessageTest.cc
	* test/BtRequestMessageTest.cc
	* test/BtSuggestPieceMessageTest.cc
	* test/BtUnchokeMessageTest.cc
	* test/DHTFindNodeReplyMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DefaultBtMessageFactoryTest.cc
	* test/DefaultExtensionMessageFactoryTest.cc
	* test/Makefile.am
	* test/PeerListProcessorTest.cc
	* test/PeerMessageUtilTest.cc: Removed.
	* test/UTPexExtensionMessageTest.cc
  • Loading branch information
tatsuhiro-t committed Sep 29, 2009
1 parent 2e8b0d7 commit 99654e4
Show file tree
Hide file tree
Showing 61 changed files with 607 additions and 630 deletions.
62 changes: 62 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
2009-09-29 Tatsuhiro Tsujikawa <[email protected]>

Move all functions in PeerMessageUtil to bittorrent_helper.
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessageValidator.h
* src/BtExtendedMessage.cc
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessageValidator.h
* src/BtPieceMessage.cc
* src/BtPieceMessageValidator.h
* src/BtPortMessage.cc
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DHTTokenTracker.cc
* src/DefaultBtMessageFactory.cc
* src/IndexBtMessage.cc
* src/IndexBtMessage.h
* src/IndexBtMessageValidator.h
* src/Makefile.am
* src/PeerMessageUtil.cc: Removed.
* src/PeerMessageUtil.h: Removed.
* src/RangeBtMessage.cc
* src/RangeBtMessage.h
* src/RangeBtMessageValidator.h
* src/UTPexExtensionMessage.cc
* src/ZeroBtMessage.cc
* src/ZeroBtMessage.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/BtAllowedFastMessageTest.cc
* test/BtBitfieldMessageTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtExtendedMessageTest.cc
* test/BtHandshakeMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/BtHaveMessageTest.cc
* test/BtHaveNoneMessageTest.cc
* test/BtInterestedMessageTest.cc
* test/BtNotInterestedMessageTest.cc
* test/BtPieceMessageTest.cc
* test/BtPortMessageTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/BtSuggestPieceMessageTest.cc
* test/BtUnchokeMessageTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/Makefile.am
* test/PeerListProcessorTest.cc
* test/PeerMessageUtilTest.cc: Removed.
* test/UTPexExtensionMessageTest.cc

2009-09-29 Tatsuhiro Tsujikawa <[email protected]>

Limit the size of values list when sending get_peers reply.
Expand Down
9 changes: 4 additions & 5 deletions src/BtBitfieldMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

#include <cstring>

#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Util.h"
#include "DlAbortEx.h"
#include "message.h"
Expand All @@ -63,8 +63,8 @@ void BtBitfieldMessage::setBitfield(const unsigned char* bitfield, size_t bitfie
BtBitfieldMessageHandle
BtBitfieldMessage::create(const unsigned char* data, size_t dataLength)
{
PeerMessageUtil::assertPayloadLengthGreater(1,dataLength, NAME);
PeerMessageUtil::assertID(ID, data, NAME);
bittorrent::assertPayloadLengthGreater(1,dataLength, NAME);
bittorrent::assertID(ID, data, NAME);
BtBitfieldMessageHandle message(new BtBitfieldMessage());
message->setBitfield((unsigned char*)data+1, dataLength-1);
return message;
Expand All @@ -88,8 +88,7 @@ const unsigned char* BtBitfieldMessage::getMessage() {
*/
msgLength = 5+bitfieldLength;
msg = new unsigned char[msgLength];
PeerMessageUtil::createPeerMessageString(msg, msgLength,
1+bitfieldLength, ID);
bittorrent::createPeerMessageString(msg, msgLength, 1+bitfieldLength, ID);
memcpy(msg+5, bitfield, bitfieldLength);
}
return msg;
Expand Down
7 changes: 4 additions & 3 deletions src/BtBitfieldMessageValidator.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@

#include "BtMessageValidator.h"
#include "BtBitfieldMessage.h"
#include "bittorrent_helper.h"

namespace aria2 {

Expand All @@ -52,9 +53,9 @@ class BtBitfieldMessageValidator : public BtMessageValidator {

virtual bool validate(Errors& error) {
// TODO
PeerMessageUtil::checkBitfield(message->getBitfield(),
message->getBitfieldLength(),
numPiece);
bittorrent::checkBitfield(message->getBitfield(),
message->getBitfieldLength(),
numPiece);
return true;
}
};
Expand Down
8 changes: 4 additions & 4 deletions src/BtExtendedMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

#include "ExtensionMessage.h"
#include "ExtensionMessageFactory.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Peer.h"
#include "DlAbortEx.h"
#include "message.h"
Expand Down Expand Up @@ -76,7 +76,7 @@ const unsigned char* BtExtendedMessage::getMessage() {
std::string payload = _extensionMessage->getBencodedData();
_msgLength = 6+payload.size();
_msg = new unsigned char[_msgLength];
PeerMessageUtil::createPeerMessageString(_msg, _msgLength, 2+payload.size(), ID);
bittorrent::createPeerMessageString(_msg, _msgLength, 2+payload.size(), ID);
*(_msg+5) = _extensionMessage->getExtensionMessageID();
memcpy(_msg+6, payload.c_str(), payload.size());
}
Expand All @@ -102,8 +102,8 @@ BtExtendedMessage::create(const SharedHandle<ExtensionMessageFactory>& factory,
const PeerHandle& peer,
const unsigned char* data, size_t dataLength)
{
PeerMessageUtil::assertPayloadLengthGreater(1, dataLength, NAME);
PeerMessageUtil::assertID(ID, data, NAME);
bittorrent::assertPayloadLengthGreater(1, dataLength, NAME);
bittorrent::assertID(ID, data, NAME);
assert(!factory.isNull());
ExtensionMessageHandle extmsg = factory->createMessage(data+1,
dataLength-1);
Expand Down
4 changes: 2 additions & 2 deletions src/BtHandshakeMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@

#include <cstring>

#include "PeerMessageUtil.h"
#include "Util.h"
#include "BtConstants.h"
#include "a2functional.h"
Expand All @@ -45,7 +44,8 @@ namespace aria2 {

const std::string BtHandshakeMessage::NAME("handshake");

const unsigned char* BtHandshakeMessage::BT_PSTR = (const unsigned char*)"BitTorrent protocol";
const unsigned char* BtHandshakeMessage::BT_PSTR =
(const unsigned char*)"BitTorrent protocol";

BtHandshakeMessage::BtHandshakeMessage():SimpleBtMessage(ID, NAME)
{
Expand Down
1 change: 0 additions & 1 deletion src/BtHandshakeMessageValidator.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@

#include "BtHandshakeMessage.h"
#include "Util.h"
#include "PeerMessageUtil.h"
#include "StringFormat.h"

namespace aria2 {
Expand Down
18 changes: 9 additions & 9 deletions src/BtPieceMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
#include <cstdlib>
#include <cassert>

#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Util.h"
#include "message.h"
#include "DlAbortEx.h"
Expand Down Expand Up @@ -67,11 +67,11 @@ void BtPieceMessage::setBlock(const unsigned char* block, size_t blockLength) {
}

BtPieceMessageHandle BtPieceMessage::create(const unsigned char* data, size_t dataLength) {
PeerMessageUtil::assertPayloadLengthGreater(9, dataLength, NAME);
PeerMessageUtil::assertID(ID, data, NAME);
bittorrent::assertPayloadLengthGreater(9, dataLength, NAME);
bittorrent::assertID(ID, data, NAME);
BtPieceMessageHandle message(new BtPieceMessage());
message->setIndex(PeerMessageUtil::getIntParam(data, 1));
message->setBegin(PeerMessageUtil::getIntParam(data, 5));
message->setIndex(bittorrent::getIntParam(data, 1));
message->setBegin(bittorrent::getIntParam(data, 5));
message->setBlock(data+9, dataLength-9);
return message;
}
Expand Down Expand Up @@ -120,10 +120,10 @@ const unsigned char* BtPieceMessage::getMessageHeader() {
* total: 13bytes
*/
msgHeader = new unsigned char[MESSAGE_HEADER_LENGTH];
PeerMessageUtil::createPeerMessageString(msgHeader, MESSAGE_HEADER_LENGTH,
9+blockLength, ID);
PeerMessageUtil::setIntParam(&msgHeader[5], index);
PeerMessageUtil::setIntParam(&msgHeader[9], begin);
bittorrent::createPeerMessageString(msgHeader, MESSAGE_HEADER_LENGTH,
9+blockLength, ID);
bittorrent::setIntParam(&msgHeader[5], index);
bittorrent::setIntParam(&msgHeader[9], begin);
}
return msgHeader;
}
Expand Down
6 changes: 3 additions & 3 deletions src/BtPieceMessageValidator.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

#include "BtMessageValidator.h"
#include "BtPieceMessage.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"

namespace aria2 {

Expand All @@ -56,8 +56,8 @@ class BtPieceMessageValidator : public BtMessageValidator {

virtual bool validate(Errors& error) {
// TODO
PeerMessageUtil::checkIndex(message->getIndex(), numPiece);
PeerMessageUtil::checkBegin(message->getBegin(), pieceLength);
bittorrent::checkIndex(message->getIndex(), numPiece);
bittorrent::checkBegin(message->getBegin(), pieceLength);
return true;
}
};
Expand Down
12 changes: 6 additions & 6 deletions src/BtPortMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
*/
/* copyright --> */
#include "BtPortMessage.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "DlAbortEx.h"
#include "Util.h"
#include "message.h"
Expand Down Expand Up @@ -61,9 +61,9 @@ BtPortMessage::~BtPortMessage()

SharedHandle<BtPortMessage> BtPortMessage::create(const unsigned char* data, size_t dataLength)
{
PeerMessageUtil::assertPayloadLengthEqual(3, dataLength, NAME);
PeerMessageUtil::assertID(ID, data, NAME);
uint16_t port = PeerMessageUtil::getShortIntParam(data, 1);
bittorrent::assertPayloadLengthEqual(3, dataLength, NAME);
bittorrent::assertID(ID, data, NAME);
uint16_t port = bittorrent::getShortIntParam(data, 1);
SharedHandle<BtPortMessage> message(new BtPortMessage(port));
return message;
}
Expand Down Expand Up @@ -99,8 +99,8 @@ const unsigned char* BtPortMessage::getMessage() {
* total: 7bytes
*/
_msg = new unsigned char[MESSAGE_LENGTH];
PeerMessageUtil::createPeerMessageString(_msg, MESSAGE_LENGTH, 3, ID);
PeerMessageUtil::setShortIntParam(&_msg[5], _port);
bittorrent::createPeerMessageString(_msg, MESSAGE_LENGTH, 3, ID);
bittorrent::setShortIntParam(&_msg[5], _port);
}
return _msg;
}
Expand Down
6 changes: 3 additions & 3 deletions src/DHTFindNodeReplyMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
#include "DHTMessageFactory.h"
#include "DHTMessageDispatcher.h"
#include "DHTMessageCallback.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Util.h"
#include "bencode.h"

Expand Down Expand Up @@ -80,8 +80,8 @@ BDE DHTFindNodeReplyMessage::getResponse()
i != _closestKNodes.end() && offset < DHTBucket::K*26; ++i) {
SharedHandle<DHTNode> node = *i;
memcpy(buffer+offset, node->getID(), DHT_ID_LENGTH);
if(PeerMessageUtil::createcompact(buffer+20+offset, node->getIPAddress(),
node->getPort())) {
if(bittorrent::createcompact(buffer+20+offset, node->getIPAddress(),
node->getPort())) {
offset += 26;
}
}
Expand Down
7 changes: 4 additions & 3 deletions src/DHTGetPeersReplyMessage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
#include "DHTMessageFactory.h"
#include "DHTMessageDispatcher.h"
#include "DHTMessageCallback.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Peer.h"
#include "DHTUtil.h"
#include "Util.h"
Expand Down Expand Up @@ -86,7 +86,8 @@ BDE DHTGetPeersReplyMessage::getResponse()
i != _closestKNodes.end() && offset < DHTBucket::K*26; ++i) {
SharedHandle<DHTNode> node = *i;
memcpy(buffer+offset, node->getID(), DHT_ID_LENGTH);
if(PeerMessageUtil::createcompact(buffer+20+offset, node->getIPAddress(), node->getPort())) {
if(bittorrent::createcompact
(buffer+20+offset, node->getIPAddress(), node->getPort())) {
offset += 26;
}
}
Expand All @@ -109,7 +110,7 @@ BDE DHTGetPeersReplyMessage::getResponse()
i != _values.end() && valuesList.size() < MAX_VALUES_SIZE; ++i) {
const SharedHandle<Peer>& peer = *i;
unsigned char buffer[6];
if(PeerMessageUtil::createcompact(buffer, peer->ipaddr, peer->port)) {
if(bittorrent::createcompact(buffer, peer->ipaddr, peer->port)) {
valuesList << BDE(buffer, sizeof(buffer));
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/DHTMessageFactoryImpl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
#include "DHTPeerAnnounceStorage.h"
#include "DHTTokenTracker.h"
#include "DHTMessageCallback.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "BtRuntime.h"
#include "Util.h"
#include "Peer.h"
Expand Down Expand Up @@ -332,7 +332,7 @@ DHTMessageFactoryImpl::extractNodes(const unsigned char* src, size_t length)
for(size_t offset = 0; offset < length; offset += 26) {
SharedHandle<DHTNode> node(new DHTNode(src+offset));
std::pair<std::string, uint16_t> addr =
PeerMessageUtil::unpackcompact(src+offset+DHT_ID_LENGTH);
bittorrent::unpackcompact(src+offset+DHT_ID_LENGTH);
if(addr.first.empty()) {
continue;
}
Expand Down Expand Up @@ -416,7 +416,7 @@ DHTMessageFactoryImpl::createGetPeersReplyMessageWithValues
const BDE& data = *i;
if(data.isString() && data.s().size() == 6) {
std::pair<std::string, uint16_t> addr =
PeerMessageUtil::unpackcompact(data.uc());
bittorrent::unpackcompact(data.uc());
PeerHandle peer(new Peer(addr.first, addr.second));
peers.push_back(peer);
}
Expand Down
5 changes: 2 additions & 3 deletions src/DHTRoutingTableDeserializer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

#include "DHTNode.h"
#include "DHTConstants.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "DlAbortEx.h"
#include "Logger.h"
#include "a2netcompat.h"
Expand Down Expand Up @@ -182,8 +182,7 @@ void DHTRoutingTableDeserializer::deserialize(std::istream& in)
CHECK_STREAM(in, 42);
continue;
}
std::pair<std::string, uint16_t> peer =
PeerMessageUtil::unpackcompact(buf);
std::pair<std::string, uint16_t> peer = bittorrent::unpackcompact(buf);
if(peer.first.empty()) {
// skip this entry
readBytes(buf, buf.size(), in, 42);
Expand Down
13 changes: 8 additions & 5 deletions src/DHTRoutingTableSerializer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,19 @@
*/
/* copyright --> */
#include "DHTRoutingTableSerializer.h"

#include <cerrno>
#include <cstring>
#include <ostream>

#include "DHTNode.h"
#include "DlAbortEx.h"
#include "DHTConstants.h"
#include "PeerMessageUtil.h"
#include "bittorrent_helper.h"
#include "Logger.h"
#include "a2netcompat.h"
#include "StringFormat.h"
#include "Util.h"
#include <cerrno>
#include <cstring>
#include <ostream>

namespace aria2 {

Expand Down Expand Up @@ -102,7 +104,8 @@ void DHTRoutingTableSerializer::serialize(std::ostream& o)
// Currently, only IPv4 address and IPv4-mapped address are saved.
// 6bytes: write IP address + port in Compact IP-address/port info form.
unsigned char compactPeer[6];
if(!PeerMessageUtil::createcompact(compactPeer, node->getIPAddress(), node->getPort())) {
if(!bittorrent::createcompact
(compactPeer, node->getIPAddress(), node->getPort())) {
memset(compactPeer, 0, 6);
}
// 1byte compact peer format length
Expand Down
Loading

0 comments on commit 99654e4

Please sign in to comment.