Made LpdMessage struct

pull/2/head
Tatsuhiro Tsujikawa 2011-10-18 00:47:14 +09:00
parent fc4d38d236
commit e700d2bb1f
4 changed files with 14 additions and 29 deletions

View File

@ -39,7 +39,7 @@ LpdMessage::LpdMessage() {}
LpdMessage::LpdMessage
(const SharedHandle<Peer>& peer, const std::string& infoHash)
: peer_(peer), infoHash_(infoHash)
: peer(peer), infoHash(infoHash)
{}
LpdMessage::~LpdMessage() {}

View File

@ -43,26 +43,12 @@ namespace aria2 {
class Peer;
class LpdMessage {
private:
SharedHandle<Peer> peer_;
std::string infoHash_;
public:
struct LpdMessage {
SharedHandle<Peer> peer;
std::string infoHash;
LpdMessage();
LpdMessage(const SharedHandle<Peer>& peer, const std::string& infoHash);
~LpdMessage();
const SharedHandle<Peer>& getPeer() const
{
return peer_;
}
const std::string& getInfoHash() const
{
return infoHash_;
}
};
} // namespace aria2

View File

@ -77,16 +77,15 @@ bool LpdReceiveMessageCommand::execute()
if(!m) {
break;
}
if(!m->getPeer()) {
if(!m->peer) {
// bad message
continue;
}
SharedHandle<BtRegistry> reg = e_->getBtRegistry();
SharedHandle<DownloadContext> dctx =
reg->getDownloadContext(m->getInfoHash());
SharedHandle<DownloadContext> dctx = reg->getDownloadContext(m->infoHash);
if(!dctx) {
A2_LOG_DEBUG(fmt("Download Context is null for infohash=%s.",
util::toHex(m->getInfoHash()).c_str()));
util::toHex(m->infoHash).c_str()));
continue;
}
if(bittorrent::getTorrentAttrs(dctx)->privateTorrent) {
@ -99,7 +98,7 @@ bool LpdReceiveMessageCommand::execute()
assert(!btobj.isNull());
SharedHandle<PeerStorage> peerStorage = btobj.peerStorage_;
assert(peerStorage);
SharedHandle<Peer> peer = m->getPeer();
SharedHandle<Peer> peer = m->peer;
if(peerStorage->addPeer(peer)) {
A2_LOG_DEBUG(fmt("LPD peer %s:%u local=%d added.",
peer->getIPAddress().c_str(), peer->getPort(),

View File

@ -52,8 +52,8 @@ void LpdMessageReceiverTest::testReceiveMessage()
SharedHandle<LpdMessage> msg = rcv.receiveMessage();
CPPUNIT_ASSERT(msg);
CPPUNIT_ASSERT_EQUAL(std::string("cd41c7fdddfd034a15a04d7ff881216e01c4ceaf"),
util::toHex(msg->getInfoHash()));
CPPUNIT_ASSERT_EQUAL((uint16_t)6000, msg->getPeer()->getPort());
util::toHex(msg->infoHash));
CPPUNIT_ASSERT_EQUAL((uint16_t)6000, msg->peer->getPort());
// Bad infohash
std::string badInfoHashString = "cd41c7fdddfd034a15a04d7ff881216e01c4ce";
@ -67,8 +67,8 @@ void LpdMessageReceiverTest::testReceiveMessage()
rcv.getSocket()->isReadable(5);
msg = rcv.receiveMessage();
CPPUNIT_ASSERT(msg);
CPPUNIT_ASSERT(!msg->getPeer());
CPPUNIT_ASSERT(msg->getInfoHash().empty());
CPPUNIT_ASSERT(!msg->peer);
CPPUNIT_ASSERT(msg->infoHash.empty());
// Bad port
request =
@ -81,8 +81,8 @@ void LpdMessageReceiverTest::testReceiveMessage()
rcv.getSocket()->isReadable(5);
msg = rcv.receiveMessage();
CPPUNIT_ASSERT(msg);
CPPUNIT_ASSERT(!msg->getPeer());
CPPUNIT_ASSERT(msg->getInfoHash().empty());
CPPUNIT_ASSERT(!msg->peer);
CPPUNIT_ASSERT(msg->infoHash.empty());
// No data available
msg = rcv.receiveMessage();