diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-09 17:14:40 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-09 17:14:40 +0000 |
| commit | c064a2cd9e9034d6cd77bfdd70948cbef193d2cc (patch) | |
| tree | 692e9d54e8032af919514f0d8608286ce47b74b9 /test | |
| parent | 04a70520139efcfb287e329ae97e51ddf77605c6 (diff) | |
2008-02-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Extract the Peer class's member variables, which are only needed
after
PeerInteractionCommand, into PeerSessionResource class.
This class is instantiated in PeerInteractionCommand class's
ctor and
released in its dtor.
This will make Peer class lightweight and uses less memory for
peers
which are not connected and wait in the queue.
* src/PeerChokeCommand.cc
* src/PeerSessionResource.{h, cc}
* src/PeerInteractionCommand.cc
* src/PeerAbstractCommand.cc: Note: 0 is given to onAbort()
function.
* src/DefaultBtInteractive.cc
* src/BtPieceMessage.cc
* src/BtInterestedMessage.cc
* src/BtUnchokeMessage.cc
* src/DefaultPeerStorage.{h, cc}
* src/PeerInitiateConnectionCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/BtNotInterestedMessage.cc
* src/DefaultBtMessageDispatcher.cc
* src/BtChokeMessage.cc
* src/BtRequestMessage.cc
* src/Peer.{h, cc}
* src/BtRegistry.h
* src/TrackerWatcherCommand.cc
* src/PeerReceiveHandshakeCommand.cc
* test/BtExtendedMessageTest.cc
* test/BtAllowedFastMessageTest.cc
* test/BtCancelMessageTest.cc
* test/DefaultPieceStorageTest.cc
* test/BtBitfieldMessageTest.cc
* test/BtHaveMessageTest.cc
* test/BtNotInterestedMessageTest.cc
* test/BtRequestMessageTest.cc
* test/PeerSessionResourceTest.cc
* test/DefaultBtMessageDispatcherTest.cc
* test/PeerTest.cc
* test/BtInterestedMessageTest.cc
* test/BtRejectMessageTest.cc
* test/BtChokeMessageTest.cc
* test/DefaultPeerStorageTest.cc
* test/BtHaveNoneMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/BtUnchokeMessageTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/UTPexExtensionMessageTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/BtPieceMessageTest.cc
Removed typedef PeerStats.
* src/PeerStat.h
* src/SegmentMan.cc
Diffstat (limited to 'test')
26 files changed, 334 insertions, 50 deletions
diff --git a/test/BtAllowedFastMessageTest.cc b/test/BtAllowedFastMessageTest.cc index 605e7951..7c50060a 100644 --- a/test/BtAllowedFastMessageTest.cc +++ b/test/BtAllowedFastMessageTest.cc @@ -71,6 +71,7 @@ void BtAllowedFastMessageTest::testDoReceivedAction() { BtAllowedFastMessage msg; msg.setIndex(1); SharedHandle<Peer> peer = new Peer("localhost", 6969); + peer->allocateSessionResource(1024, 1024*1024); peer->setFastExtensionEnabled(true); msg.setPeer(peer); CPPUNIT_ASSERT(!peer->isInPeerAllowedIndexSet(1)); @@ -88,6 +89,7 @@ void BtAllowedFastMessageTest::testOnSendComplete() { BtAllowedFastMessage msg; msg.setIndex(1); SharedHandle<Peer> peer = new Peer("localhost", 6969); + peer->allocateSessionResource(1024, 1024*1024); peer->setFastExtensionEnabled(true); msg.setPeer(peer); CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1)); diff --git a/test/BtBitfieldMessageTest.cc b/test/BtBitfieldMessageTest.cc index 50bc23d2..c50e09de 100644 --- a/test/BtBitfieldMessageTest.cc +++ b/test/BtBitfieldMessageTest.cc @@ -71,7 +71,7 @@ void BtBitfieldMessageTest::testGetMessage() { void BtBitfieldMessageTest::testDoReceivedAction() { SharedHandle<Peer> peer = new Peer("host1", 6969); - peer->allocateBitfield(16*1024, 16*16*1024); + peer->allocateSessionResource(16*1024, 16*16*1024); BtBitfieldMessage msg; msg.setPeer(peer); unsigned char bitfield[] = { 0xff, 0xff }; diff --git a/test/BtCancelMessageTest.cc b/test/BtCancelMessageTest.cc index d9a06e7b..4af683ce 100644 --- a/test/BtCancelMessageTest.cc +++ b/test/BtCancelMessageTest.cc @@ -39,7 +39,7 @@ public: btContext->setInfoHash((const unsigned char*)"12345678901234567890"); BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(), new PeerObjectCluster()); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), new PeerObject()); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject()); } void testCreate(); diff --git a/test/BtChokeMessageTest.cc b/test/BtChokeMessageTest.cc index 353542b5..f77327c4 100644 --- a/test/BtChokeMessageTest.cc +++ b/test/BtChokeMessageTest.cc @@ -36,11 +36,12 @@ public: void setUp() { BtRegistry::unregisterAll(); peer = new Peer("host", 6969); + peer->allocateSessionResource(1024, 1024*1024); btContext = new MockBtContext(); btContext->setInfoHash((const unsigned char*)"12345678901234567890"); BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(), new PeerObjectCluster()); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), new PeerObject()); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject()); } void testCreate(); @@ -124,7 +125,7 @@ void BtChokeMessageTest::testDoReceivedAction() { msg.doReceivedAction(); CPPUNIT_ASSERT(dispatcher->doChokedActionCalled); - CPPUNIT_ASSERT(peer->peerChoking); + CPPUNIT_ASSERT(peer->peerChoking()); } void BtChokeMessageTest::testOnSendComplete() { @@ -138,7 +139,7 @@ void BtChokeMessageTest::testOnSendComplete() { msg.onSendComplete(); CPPUNIT_ASSERT(dispatcher->doChokingActionCalled); - CPPUNIT_ASSERT(peer->amChoking); + CPPUNIT_ASSERT(peer->amChoking()); } void BtChokeMessageTest::testToString() { diff --git a/test/BtExtendedMessageTest.cc b/test/BtExtendedMessageTest.cc index 9eeedfca..0401e768 100644 --- a/test/BtExtendedMessageTest.cc +++ b/test/BtExtendedMessageTest.cc @@ -49,7 +49,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(BtExtendedMessageTest); void BtExtendedMessageTest::testCreate() { SharedHandle<Peer> peer = new Peer("192.168.0.1", 6969); - peer->setExtension("charlie", 1); + peer->allocateSessionResource(1024, 1024*1024); SharedHandle<MockBtContext> ctx = new MockBtContext(); unsigned char infohash[20]; memset(infohash, 0, sizeof(infohash)); @@ -61,7 +61,7 @@ void BtExtendedMessageTest::testCreate() { SharedHandle<PeerObject> peerObject = new PeerObject(); peerObject->extensionMessageFactory = exmsgFactory; - PEER_OBJECT_CLUSTER(ctx)->registerHandle(peer->getId(), peerObject); + PEER_OBJECT_CLUSTER(ctx)->registerHandle(peer->getID(), peerObject); // payload:{4:name3:foo}->11bytes std::string payload = "4:name3:foo"; diff --git a/test/BtHaveAllMessageTest.cc b/test/BtHaveAllMessageTest.cc index a5c28781..b8d8945f 100644 --- a/test/BtHaveAllMessageTest.cc +++ b/test/BtHaveAllMessageTest.cc @@ -61,7 +61,7 @@ void BtHaveAllMessageTest::testGetMessage() { void BtHaveAllMessageTest::testDoReceivedAction() { BtHaveAllMessage msg; SharedHandle<Peer> peer = new Peer("host", 6969); - peer->allocateBitfield(16*1024, 256*1024); + peer->allocateSessionResource(16*1024, 256*1024); peer->setFastExtensionEnabled(true); msg.setPeer(peer); diff --git a/test/BtHaveMessageTest.cc b/test/BtHaveMessageTest.cc index 4ffa8274..abf59286 100644 --- a/test/BtHaveMessageTest.cc +++ b/test/BtHaveMessageTest.cc @@ -66,7 +66,7 @@ void BtHaveMessageTest::testGetMessage() { void BtHaveMessageTest::testDoReceivedAction() { SharedHandle<Peer> peer = new Peer("host", 6969); - peer->allocateBitfield(16*1024, 256*1024); + peer->allocateSessionResource(16*1024, 256*1024); BtHaveMessage msg; msg.setIndex(1); msg.setPeer(peer); diff --git a/test/BtHaveNoneMessageTest.cc b/test/BtHaveNoneMessageTest.cc index 8bad7343..6d9df006 100644 --- a/test/BtHaveNoneMessageTest.cc +++ b/test/BtHaveNoneMessageTest.cc @@ -63,6 +63,7 @@ void BtHaveNoneMessageTest::testGetMessage() { void BtHaveNoneMessageTest::testDoReceivedAction() { BtHaveNoneMessage msg; SharedHandle<Peer> peer = new Peer("host", 6969); + peer->allocateSessionResource(1024, 1024*1024); peer->setFastExtensionEnabled(true); msg.setPeer(peer); msg.doReceivedAction(); diff --git a/test/BtInterestedMessageTest.cc b/test/BtInterestedMessageTest.cc index 091f51dc..77ba2ff6 100644 --- a/test/BtInterestedMessageTest.cc +++ b/test/BtInterestedMessageTest.cc @@ -65,19 +65,21 @@ void BtInterestedMessageTest::testGetMessage() { void BtInterestedMessageTest::testDoReceivedAction() { BtInterestedMessage msg; SharedHandle<Peer> peer = new Peer("host", 6969); + peer->allocateSessionResource(1024, 1024*1024); msg.setPeer(peer); - CPPUNIT_ASSERT(!peer->peerInterested); + CPPUNIT_ASSERT(!peer->peerInterested()); msg.doReceivedAction(); - CPPUNIT_ASSERT(peer->peerInterested); + CPPUNIT_ASSERT(peer->peerInterested()); } void BtInterestedMessageTest::testOnSendComplete() { BtInterestedMessage msg; SharedHandle<Peer> peer = new Peer("host", 6969); + peer->allocateSessionResource(1024, 1024*1024); msg.setPeer(peer); - CPPUNIT_ASSERT(!peer->amInterested); + CPPUNIT_ASSERT(!peer->amInterested()); msg.onSendComplete(); - CPPUNIT_ASSERT(peer->amInterested); + CPPUNIT_ASSERT(peer->amInterested()); } void BtInterestedMessageTest::testToString() { diff --git a/test/BtNotInterestedMessageTest.cc b/test/BtNotInterestedMessageTest.cc index 41a9f275..476a836a 100644 --- a/test/BtNotInterestedMessageTest.cc +++ b/test/BtNotInterestedMessageTest.cc @@ -64,22 +64,24 @@ void BtNotInterestedMessageTest::testGetMessage() { void BtNotInterestedMessageTest::testDoReceivedAction() { SharedHandle<Peer> peer = new Peer("host", 6969); - peer->peerInterested = true; + peer->allocateSessionResource(1024, 1024*1024); + peer->peerInterested(true); BtNotInterestedMessage msg; msg.setPeer(peer); - CPPUNIT_ASSERT(peer->peerInterested); + CPPUNIT_ASSERT(peer->peerInterested()); msg.doReceivedAction(); - CPPUNIT_ASSERT(!peer->peerInterested); + CPPUNIT_ASSERT(!peer->peerInterested()); } void BtNotInterestedMessageTest::testOnSendComplete() { SharedHandle<Peer> peer = new Peer("host", 6969); - peer->amInterested = true; + peer->allocateSessionResource(1024, 1024*1024); + peer->amInterested(true); BtNotInterestedMessage msg; msg.setPeer(peer); - CPPUNIT_ASSERT(peer->amInterested); + CPPUNIT_ASSERT(peer->amInterested()); msg.onSendComplete(); - CPPUNIT_ASSERT(!peer->amInterested); + CPPUNIT_ASSERT(!peer->amInterested()); } void BtNotInterestedMessageTest::testToString() { diff --git a/test/BtPieceMessageTest.cc b/test/BtPieceMessageTest.cc index 7683a6d1..19cc95f7 100644 --- a/test/BtPieceMessageTest.cc +++ b/test/BtPieceMessageTest.cc @@ -88,9 +88,11 @@ public: btContext->setTotalLength(256*1024); peer = new Peer("host", 6969); + peer->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(), new PeerObjectCluster()); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), new PeerObject()); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject()); btMessageDispatcher = new MockBtMessageDispatcher(); PEER_OBJECT(btContext, peer)->btMessageDispatcher = btMessageDispatcher; PEER_OBJECT(btContext, peer)->btMessageFactory = new MockBtMessageFactory2(); diff --git a/test/BtRejectMessageTest.cc b/test/BtRejectMessageTest.cc index 2119acf2..3242da2d 100644 --- a/test/BtRejectMessageTest.cc +++ b/test/BtRejectMessageTest.cc @@ -76,12 +76,13 @@ public: void setUp() { BtRegistry::unregisterAll(); peer = new Peer("host", 6969); + peer->allocateSessionResource(1024, 1024*1024); SharedHandle<MockBtContext> btContext = new MockBtContext(); btContext->setInfoHash((const unsigned char*)"12345678901234567890"); BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(), new PeerObjectCluster()); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), new PeerObject()); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject()); dispatcher = new MockBtMessageDispatcher2(); PEER_OBJECT(btContext, peer)->btMessageDispatcher = dispatcher; diff --git a/test/BtRequestMessageTest.cc b/test/BtRequestMessageTest.cc index 33bc3f10..349f42cc 100644 --- a/test/BtRequestMessageTest.cc +++ b/test/BtRequestMessageTest.cc @@ -108,10 +108,11 @@ public: pieceStorage); peer = new Peer("host", 6969); - + peer->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(), new PeerObjectCluster()); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), new PeerObject()); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject()); dispatcher = new MockBtMessageDispatcher(); @@ -177,7 +178,7 @@ void BtRequestMessageTest::testGetMessage() { } void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmNotChoking() { - peer->amChoking = false; + peer->amChoking(false); msg->doReceivedAction(); CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher->messageQueue.size()); @@ -189,7 +190,7 @@ void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmNotChoking() { } void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmChokingAndFastExtensionEnabled() { - peer->amChoking = true; + peer->amChoking(true); peer->setFastExtensionEnabled(true); msg->doReceivedAction(); @@ -202,7 +203,7 @@ void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmChokingAndFastExten } void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmChokingAndFastExtensionDisabled() { - peer->amChoking = true; + peer->amChoking(true); msg->doReceivedAction(); CPPUNIT_ASSERT_EQUAL((size_t)0, dispatcher->messageQueue.size()); @@ -210,7 +211,7 @@ void BtRequestMessageTest::testDoReceivedAction_hasPieceAndAmChokingAndFastExten void BtRequestMessageTest::testDoReceivedAction_doesntHavePieceAndFastExtensionEnabled() { msg->setIndex(2); - peer->amChoking = false; + peer->amChoking(false); peer->setFastExtensionEnabled(true); msg->doReceivedAction(); @@ -224,7 +225,7 @@ void BtRequestMessageTest::testDoReceivedAction_doesntHavePieceAndFastExtensionE void BtRequestMessageTest::testDoReceivedAction_doesntHavePieceAndFastExtensionDisabled() { msg->setIndex(2); - peer->amChoking = false; + peer->amChoking(false); msg->doReceivedAction(); CPPUNIT_ASSERT_EQUAL((size_t)0, dispatcher->messageQueue.size()); diff --git a/test/BtUnchokeMessageTest.cc b/test/BtUnchokeMessageTest.cc index 29cac162..9931909c 100644 --- a/test/BtUnchokeMessageTest.cc +++ b/test/BtUnchokeMessageTest.cc @@ -63,24 +63,26 @@ void BtUnchokeMessageTest::testGetMessage() { void BtUnchokeMessageTest::testDoReceivedAction() { SharedHandle<Peer> peer = new Peer("host", 6969); - peer->peerChoking = true; + peer->allocateSessionResource(1024, 1024*1024); + peer->peerChoking(true); BtUnchokeMessage msg; msg.setPeer(peer); - CPPUNIT_ASSERT(peer->peerChoking); + CPPUNIT_ASSERT(peer->peerChoking()); msg.doReceivedAction(); - CPPUNIT_ASSERT(!peer->peerChoking); + CPPUNIT_ASSERT(!peer->peerChoking()); } void BtUnchokeMessageTest::testOnSendComplete() { SharedHandle<Peer> peer = new Peer("host", 6969); - peer->amChoking = true; + peer->allocateSessionResource(1024, 1024*1024); + peer->amChoking(true); BtUnchokeMessage msg; msg.setPeer(peer); - CPPUNIT_ASSERT(peer->amChoking); + CPPUNIT_ASSERT(peer->amChoking()); msg.onSendComplete(); - CPPUNIT_ASSERT(!peer->amChoking); + CPPUNIT_ASSERT(!peer->amChoking()); } void BtUnchokeMessageTest::testToString() { diff --git a/test/DefaultBtMessageDispatcherTest.cc b/test/DefaultBtMessageDispatcherTest.cc index 253b4681..707ee718 100644 --- a/test/DefaultBtMessageDispatcherTest.cc +++ b/test/DefaultBtMessageDispatcherTest.cc @@ -134,6 +134,8 @@ public: btContext = new DefaultBtContext(); btContext->load("test.torrent"); peer = new Peer("192.168.0.1", 6969); + peer->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); peerStorage = new MockPeerStorage(); pieceStorage = new MockPieceStorage(); BtRegistry::unregisterAll(); @@ -147,7 +149,7 @@ public: SharedHandle<PeerObject> peerObject = new PeerObject(); peerObject->btMessageFactory = new MockBtMessageFactory2(); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), peerObject); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), peerObject); btMessageDispatcher = new DefaultBtMessageDispatcher(); btMessageDispatcher->setCuid(1); @@ -328,7 +330,7 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_tim CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->getMessageQueue().size()); CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->getRequestSlots().size()); CPPUNIT_ASSERT_EQUAL(false, piece->isBlockUsed(0)); - CPPUNIT_ASSERT_EQUAL(true, peer->snubbing); + CPPUNIT_ASSERT_EQUAL(true, peer->snubbing()); } void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_completeBlock() { diff --git a/test/DefaultBtMessageFactoryTest.cc b/test/DefaultBtMessageFactoryTest.cc index 3268b400..fb08ea6b 100644 --- a/test/DefaultBtMessageFactoryTest.cc +++ b/test/DefaultBtMessageFactoryTest.cc @@ -40,6 +40,7 @@ public: _btContext = btContext; _peer = new Peer("192.168.0.1", 6969); + _peer->allocateSessionResource(1024, 1024*1024); _peer->setExtendedMessagingEnabled(true); SharedHandle<MockExtensionMessageFactory> exmsgFactory = @@ -49,7 +50,7 @@ public: SharedHandle<PeerObject> peerObject = new PeerObject(); peerObject->extensionMessageFactory = exmsgFactory; - PEER_OBJECT_CLUSTER(_btContext)->registerHandle(_peer->getId(), peerObject); + PEER_OBJECT_CLUSTER(_btContext)->registerHandle(_peer->getID(), peerObject); } void tearDown() diff --git a/test/DefaultBtRequestFactoryTest.cc b/test/DefaultBtRequestFactoryTest.cc index c53b5dec..b537d8ef 100644 --- a/test/DefaultBtRequestFactoryTest.cc +++ b/test/DefaultBtRequestFactoryTest.cc @@ -97,7 +97,7 @@ public: new PeerObjectCluster()); SharedHandle<PeerObject> peerObject = new PeerObject(); peerObject->btMessageFactory = new MockBtMessageFactory2(); - PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getId(), peerObject); + PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), peerObject); btRequestFactory = new DefaultBtRequestFactory(); btRequestFactory->setBtContext(btContext); diff --git a/test/DefaultExtensionMessageFactoryTest.cc b/test/DefaultExtensionMessageFactoryTest.cc index e9d310fc..bd1ec75e 100644 --- a/test/DefaultExtensionMessageFactoryTest.cc +++ b/test/DefaultExtensionMessageFactoryTest.cc @@ -39,6 +39,7 @@ public: btRuntime); _peer = new Peer("192.168.0.1", 6969); + _peer->allocateSessionResource(1024, 1024*1024); _peer->setExtension("ut_pex", 1); } diff --git a/test/DefaultPeerStorageTest.cc b/test/DefaultPeerStorageTest.cc index b2874d8c..d1c5209e 100644 --- a/test/DefaultPeerStorageTest.cc +++ b/test/DefaultPeerStorageTest.cc @@ -84,7 +84,7 @@ void DefaultPeerStorageTest::testDeleteUnusedPeer() { ps.addPeer(peer1); ps.addPeer(peer2); - peer2->cuid = 1; + peer2->usedBy(1); ps.deleteUnusedPeer(3); @@ -117,7 +117,7 @@ void DefaultPeerStorageTest::testAddPeer() { SharedHandle<Peer> peer4(new Peer("192.168.0.4", 6889)); - peer1->cuid = 1; + peer1->usedBy(1); CPPUNIT_ASSERT(ps.addPeer(peer4)); // peer2 was deleted. While peer1 is oldest, its cuid is not 0. CPPUNIT_ASSERT_EQUAL((int32_t)3, ps.countPeer()); @@ -142,7 +142,7 @@ void DefaultPeerStorageTest::testGetUnusedPeer() { CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), ps.getUnusedPeer()->ipaddr); - peer1->cuid = 1; + peer1->usedBy(1); CPPUNIT_ASSERT(ps.getUnusedPeer().isNull()); @@ -164,7 +164,7 @@ void DefaultPeerStorageTest::testIsPeerAvailable() { CPPUNIT_ASSERT_EQUAL(true, ps.isPeerAvailable()); - peer1->cuid = 1; + peer1->usedBy(1); CPPUNIT_ASSERT_EQUAL(false, ps.isPeerAvailable()); @@ -188,7 +188,8 @@ void DefaultPeerStorageTest::testActivatePeer() { CPPUNIT_ASSERT_EQUAL((size_t)0, ps.getActivePeers().size()); - peer1->activate(); + peer1->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); CPPUNIT_ASSERT_EQUAL((size_t)1, ps.getActivePeers().size()); } @@ -201,7 +202,11 @@ void DefaultPeerStorageTest::testReturnPeer() DefaultPeerStorage ps(btContext, option); SharedHandle<Peer> peer1(new Peer("192.168.0.1", 0)); + peer1->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); SharedHandle<Peer> peer2(new Peer("192.168.0.2", 6889)); + peer2->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); SharedHandle<Peer> peer3(new Peer("192.168.0.1", 6889)); ps.addPeer(peer1); ps.addPeer(peer2); diff --git a/test/DefaultPieceStorageTest.cc b/test/DefaultPieceStorageTest.cc index f953ea91..a220933f 100644 --- a/test/DefaultPieceStorageTest.cc +++ b/test/DefaultPieceStorageTest.cc @@ -43,8 +43,8 @@ public: btContext = new DefaultBtContext(); btContext->load("test.torrent"); peer = new Peer("192.168.0.1", 6889); - peer->allocateBitfield(btContext->getPieceLength(), - btContext->getTotalLength()); + peer->allocateSessionResource(btContext->getPieceLength(), + btContext->getTotalLength()); option = new Option(); } diff --git a/test/HandshakeExtensionMessageTest.cc b/test/HandshakeExtensionMessageTest.cc index b68c4e5d..1a1e6057 100644 --- a/test/HandshakeExtensionMessageTest.cc +++ b/test/HandshakeExtensionMessageTest.cc @@ -74,6 +74,7 @@ void HandshakeExtensionMessageTest::testToString() void HandshakeExtensionMessageTest::testDoReceivedAction() { SharedHandle<Peer> peer = new Peer("192.168.0.1", 0); + peer->allocateSessionResource(1024, 1024*1024); HandshakeExtensionMessage msg; msg.setClientVersion("aria2"); msg.setTCPPort(6889); diff --git a/test/Makefile.am b/test/Makefile.am index afab249f..dda77038 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -91,6 +91,7 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\ MetaFileUtilTest.cc\ ByteArrayDiskWriterTest.cc\ PeerTest.cc\ + PeerSessionResourceTest.cc\ PeerMessageUtilTest.cc\ ShareRatioSeedCriteriaTest.cc\ BtRegistryTest.cc\ diff --git a/test/Makefile.in b/test/Makefile.in index 192c346e..f5d4e185 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -76,6 +76,7 @@ check_PROGRAMS = $(am__EXEEXT_1) @ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.cc\ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.cc\ @ENABLE_BITTORRENT_TRUE@ PeerTest.cc\ +@ENABLE_BITTORRENT_TRUE@ PeerSessionResourceTest.cc\ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.cc\ @ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtRegistryTest.cc\ @@ -186,7 +187,8 @@ am__aria2c_SOURCES_DIST = AllTest.cc SocketCoreTest.cc \ DefaultPeerListProcessorTest.cc AnnounceListTest.cc \ DefaultPeerStorageTest.cc MockPeerStorage.h DataTest.cc \ DictionaryTest.cc ListTest.cc MetaFileUtilTest.cc \ - ByteArrayDiskWriterTest.cc PeerTest.cc PeerMessageUtilTest.cc \ + ByteArrayDiskWriterTest.cc PeerTest.cc \ + PeerSessionResourceTest.cc PeerMessageUtilTest.cc \ ShareRatioSeedCriteriaTest.cc BtRegistryTest.cc \ BtDependencyTest.cc BtPostDownloadHandlerTest.cc \ DownloadHandlerFactoryTest.cc TimeSeedCriteriaTest.cc \ @@ -245,6 +247,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc SocketCoreTest.cc \ @ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerTest.$(OBJEXT) \ +@ENABLE_BITTORRENT_TRUE@ PeerSessionResourceTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtRegistryTest.$(OBJEXT) \ @@ -718,6 +721,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PStringBuildVisitorTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ParameterizedStringParserTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerMessageUtilTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerSessionResourceTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PieceTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestGroupManTest.Po@am__quote@ diff --git a/test/PeerSessionResourceTest.cc b/test/PeerSessionResourceTest.cc new file mode 100644 index 00000000..15a33b32 --- /dev/null +++ b/test/PeerSessionResourceTest.cc @@ -0,0 +1,254 @@ +#include "PeerSessionResource.h" +#include "Exception.h" +#include "Util.h" +#include <cppunit/extensions/HelperMacros.h> + +namespace aria2 { + +class PeerSessionResourceTest:public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(PeerSessionResourceTest); + CPPUNIT_TEST(testPeerAllowedIndexSetContains); + CPPUNIT_TEST(testAmAllowedIndexSetContains); + CPPUNIT_TEST(testHasAllPieces); + CPPUNIT_TEST(testHasPiece); + CPPUNIT_TEST(testUpdateUploadLength); + CPPUNIT_TEST(testUpdateDownloadLength); + CPPUNIT_TEST(testUpdateLatency); + CPPUNIT_TEST(testExtendedMessageEnabled); + CPPUNIT_TEST(testGetExtensionMessageID); + CPPUNIT_TEST(testFastExtensionEnabled); + CPPUNIT_TEST(testSnubbing); + CPPUNIT_TEST(testAmChoking); + CPPUNIT_TEST(testAmInterested); + CPPUNIT_TEST(testPeerChoking); + CPPUNIT_TEST(testPeerInterested); + CPPUNIT_TEST(testChokingRequired); + CPPUNIT_TEST(testOptUnchoking); + CPPUNIT_TEST(testShouldBeChoking); + CPPUNIT_TEST_SUITE_END(); +public: + void setUp() {} + + void tearDown() {} + + void testPeerAllowedIndexSetContains(); + void testAmAllowedIndexSetContains(); + void testHasAllPieces(); + void testHasPiece(); + void testUpdateUploadLength(); + void testUpdateDownloadLength(); + void testUpdateLatency(); + void testExtendedMessageEnabled(); + void testGetExtensionMessageID(); + void testFastExtensionEnabled(); + void testSnubbing(); + void testAmChoking(); + void testAmInterested(); + void testPeerChoking(); + void testPeerInterested(); + void testChokingRequired(); + void testOptUnchoking(); + void testShouldBeChoking(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION(PeerSessionResourceTest); + +void PeerSessionResourceTest::testPeerAllowedIndexSetContains() +{ + PeerSessionResource res(1024, 1024*1024); + + res.addPeerAllowedIndex(567); + res.addPeerAllowedIndex(789); + + CPPUNIT_ASSERT(res.peerAllowedIndexSetContains(567)); + CPPUNIT_ASSERT(res.peerAllowedIndexSetContains(789)); + CPPUNIT_ASSERT(!res.peerAllowedIndexSetContains(123)); +} + +void PeerSessionResourceTest::testAmAllowedIndexSetContains() +{ + PeerSessionResource res(1024, 1024*1024); + + res.addAmAllowedIndex(567); + res.addAmAllowedIndex(789); + + CPPUNIT_ASSERT(res.amAllowedIndexSetContains(567)); + CPPUNIT_ASSERT(res.amAllowedIndexSetContains(789)); + CPPUNIT_ASSERT(!res.amAllowedIndexSetContains(123)); +} + +void PeerSessionResourceTest::testHasAllPieces() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.hasAllPieces()); + res.markSeeder(); + CPPUNIT_ASSERT(res.hasAllPieces()); +} + +void PeerSessionResourceTest::testHasPiece() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.hasPiece(300)); + res.updateBitfield(300, 1); + CPPUNIT_ASSERT(res.hasPiece(300)); + res.updateBitfield(300, 0); + CPPUNIT_ASSERT(!res.hasPiece(300)); +} + +void PeerSessionResourceTest::testUpdateUploadLength() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT_EQUAL((int64_t)0, res.uploadLength()); + res.updateUploadLength(100); + res.updateUploadLength(200); + CPPUNIT_ASSERT_EQUAL((int64_t)300, res.uploadLength()); +} + +void PeerSessionResourceTest::testUpdateDownloadLength() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT_EQUAL((int64_t)0, res.downloadLength()); + res.updateDownloadLength(100); + res.updateDownloadLength(200); + CPPUNIT_ASSERT_EQUAL((int64_t)300, res.downloadLength()); +} + +void PeerSessionResourceTest::testUpdateLatency() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT_EQUAL(1500, res.latency()); + res.updateLatency(1000); + CPPUNIT_ASSERT_EQUAL(1100, res.latency()); +} + +void PeerSessionResourceTest::testExtendedMessageEnabled() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.extendedMessagingEnabled()); + res.extendedMessagingEnabled(true); + CPPUNIT_ASSERT(res.extendedMessagingEnabled()); + res.extendedMessagingEnabled(false); + CPPUNIT_ASSERT(!res.extendedMessagingEnabled()); +} + +void PeerSessionResourceTest::testGetExtensionMessageID() +{ + PeerSessionResource res(1024, 1024*1024); + + res.addExtension("a2", 9); + CPPUNIT_ASSERT_EQUAL((uint8_t)9, res.getExtensionMessageID("a2")); + CPPUNIT_ASSERT_EQUAL((uint8_t)0, res.getExtensionMessageID("non")); + + CPPUNIT_ASSERT_EQUAL(std::string("a2"), res.getExtensionName(9)); + CPPUNIT_ASSERT_EQUAL(std::string(""), res.getExtensionName(10)); +} + +void PeerSessionResourceTest::testFastExtensionEnabled() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.fastExtensionEnabled()); + res.fastExtensionEnabled(true); + CPPUNIT_ASSERT(res.fastExtensionEnabled()); + res.fastExtensionEnabled(false); + CPPUNIT_ASSERT(!res.fastExtensionEnabled()); +} + +void PeerSessionResourceTest::testSnubbing() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.snubbing()); + res.snubbing(true); + CPPUNIT_ASSERT(res.snubbing()); + res.snubbing(false); + CPPUNIT_ASSERT(!res.snubbing()); +} + +void PeerSessionResourceTest::testAmChoking() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(res.amChoking()); + res.amChoking(false); + CPPUNIT_ASSERT(!res.amChoking()); + res.amChoking(true); + CPPUNIT_ASSERT(res.amChoking()); +} + +void PeerSessionResourceTest::testAmInterested() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.amInterested()); + res.amInterested(true); + CPPUNIT_ASSERT(res.amInterested()); + res.amInterested(false); + CPPUNIT_ASSERT(!res.amInterested()); +} + +void PeerSessionResourceTest::testPeerChoking() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(res.peerChoking()); + res.peerChoking(false); + CPPUNIT_ASSERT(!res.peerChoking()); + res.peerChoking(true); + CPPUNIT_ASSERT(res.peerChoking()); +} + +void PeerSessionResourceTest::testPeerInterested() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.peerInterested()); + res.peerInterested(true); + CPPUNIT_ASSERT(res.peerInterested()); + res.peerInterested(false); + CPPUNIT_ASSERT(!res.peerInterested()); +} + +void PeerSessionResourceTest::testChokingRequired() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(res.chokingRequired()); + res.chokingRequired(false); + CPPUNIT_ASSERT(!res.chokingRequired()); + res.chokingRequired(true); + CPPUNIT_ASSERT(res.chokingRequired()); +} + +void PeerSessionResourceTest::testOptUnchoking() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(!res.optUnchoking()); + res.optUnchoking(true); + CPPUNIT_ASSERT(res.optUnchoking()); + res.optUnchoking(false); + CPPUNIT_ASSERT(!res.optUnchoking()); +} + +void PeerSessionResourceTest::testShouldBeChoking() +{ + PeerSessionResource res(1024, 1024*1024); + + CPPUNIT_ASSERT(res.shouldBeChoking()); + res.chokingRequired(false); + CPPUNIT_ASSERT(!res.shouldBeChoking()); + res.chokingRequired(true); + res.optUnchoking(true); + CPPUNIT_ASSERT(!res.shouldBeChoking()); +} + +} // namespace aria2 diff --git a/test/PeerTest.cc b/test/PeerTest.cc index 48b1957a..3e41bb3f 100644 --- a/test/PeerTest.cc +++ b/test/PeerTest.cc @@ -18,6 +18,7 @@ public: void setUp() { peer = new Peer("localhost", 6969); + peer->allocateSessionResource(1024, 1024*1024); } void testPeerAllowedIndexSet(); @@ -43,7 +44,7 @@ void PeerTest::testAmAllowedIndexSet() { void PeerTest::testGetId() { CPPUNIT_ASSERT_EQUAL(std::string("f05897fc14a41cb3400e283e189158656d7184da"), - peer->getId()); + peer->getID()); } void PeerTest::testOperatorEqual() diff --git a/test/UTPexExtensionMessageTest.cc b/test/UTPexExtensionMessageTest.cc index 4ff2af07..a4c77371 100644 --- a/test/UTPexExtensionMessageTest.cc +++ b/test/UTPexExtensionMessageTest.cc @@ -72,7 +72,7 @@ void UTPexExtensionMessageTest::testGetBencodedData() { UTPexExtensionMessage msg(1); SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881); - p1->allocateBitfield(256*1024, 1024*1024); + p1->allocateSessionResource(256*1024, 1024*1024); p1->setAllBitfield(); msg.addFreshPeer(p1);// added seeder, check add.f flag SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999); @@ -105,7 +105,7 @@ void UTPexExtensionMessageTest::testToString() { UTPexExtensionMessage msg(1); SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881); - p1->allocateBitfield(256*1024, 1024*1024); + p1->allocateSessionResource(256*1024, 1024*1024); p1->setAllBitfield(); msg.addFreshPeer(p1);// added seeder, check add.f flag SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999); @@ -121,7 +121,7 @@ void UTPexExtensionMessageTest::testDoReceivedAction() { UTPexExtensionMessage msg(1); SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881); - p1->allocateBitfield(256*1024, 1024*1024); + p1->allocateSessionResource(256*1024, 1024*1024); p1->setAllBitfield(); msg.addFreshPeer(p1);// added seeder, check add.f flag SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999); |
