Retain peers obtained earlier

This commit is contained in:
Tatsuhiro Tsujikawa
2016-07-02 16:05:22 +09:00
parent 9cee162716
commit f7cbbfd209
2 changed files with 66 additions and 45 deletions

View File

@@ -72,9 +72,9 @@ void DefaultPeerStorageTest::testDeleteUnusedPeer()
{
DefaultPeerStorage ps;
std::shared_ptr<Peer> peer1(new Peer("192.168.0.1", 6889));
std::shared_ptr<Peer> peer2(new Peer("192.168.0.2", 6889));
std::shared_ptr<Peer> peer3(new Peer("192.168.0.3", 6889));
auto peer1 = std::make_shared<Peer>("192.168.0.1", 6889);
auto peer2 = std::make_shared<Peer>("192.168.0.2", 6889);
auto peer3 = std::make_shared<Peer>("192.168.0.3", 6889);
CPPUNIT_ASSERT(ps.addPeer(peer1));
CPPUNIT_ASSERT(ps.addPeer(peer2));
@@ -83,7 +83,7 @@ void DefaultPeerStorageTest::testDeleteUnusedPeer()
ps.deleteUnusedPeer(2);
CPPUNIT_ASSERT_EQUAL((size_t)1, ps.getUnusedPeers().size());
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.3"),
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"),
ps.getUnusedPeers()[0]->getIPAddress());
ps.deleteUnusedPeer(100);
@@ -97,20 +97,20 @@ void DefaultPeerStorageTest::testAddPeer()
ps.setMaxPeerListSize(2);
ps.setBtRuntime(btRuntime);
std::shared_ptr<Peer> peer1(new Peer("192.168.0.1", 6889));
std::shared_ptr<Peer> peer2(new Peer("192.168.0.2", 6889));
std::shared_ptr<Peer> peer3(new Peer("192.168.0.3", 6889));
auto peer1 = std::make_shared<Peer>("192.168.0.1", 6889);
auto peer2 = std::make_shared<Peer>("192.168.0.2", 6889);
auto peer3 = std::make_shared<Peer>("192.168.0.3", 6889);
CPPUNIT_ASSERT(ps.addPeer(peer1));
CPPUNIT_ASSERT(ps.addPeer(peer2));
CPPUNIT_ASSERT(ps.addPeer(peer3));
CPPUNIT_ASSERT(!ps.addPeer(peer3));
CPPUNIT_ASSERT_EQUAL((size_t)2, ps.getUnusedPeers().size());
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.3"),
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"),
ps.getUnusedPeers()[0]->getIPAddress());
CPPUNIT_ASSERT(!ps.addPeer(peer2));
CPPUNIT_ASSERT(ps.addPeer(peer1));
CPPUNIT_ASSERT(!ps.addPeer(peer3));
CPPUNIT_ASSERT_EQUAL((size_t)2, ps.getUnusedPeers().size());
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"),
@@ -137,20 +137,24 @@ void DefaultPeerStorageTest::testIsPeerAvailable()
void DefaultPeerStorageTest::testCheckoutPeer()
{
DefaultPeerStorage ps;
std::shared_ptr<Peer> peers[] = {
std::shared_ptr<Peer>(new Peer("192.168.0.1", 1000)),
std::shared_ptr<Peer>(new Peer("192.168.0.2", 1000)),
std::shared_ptr<Peer>(new Peer("192.168.0.3", 1000))};
int len = arraySize(peers);
for (int i = 0; i < len; ++i) {
ps.addPeer(peers[i]);
auto peers = {
std::make_shared<Peer>("192.168.0.1", 1000),
std::make_shared<Peer>("192.168.0.2", 1000),
std::make_shared<Peer>("192.168.0.3", 1000),
};
for (auto& peer : peers) {
ps.addPeer(peer);
}
for (int i = 0; i < len; ++i) {
std::shared_ptr<Peer> peer = ps.checkoutPeer(i + 1);
CPPUNIT_ASSERT_EQUAL(peers[len - i - 1]->getIPAddress(),
peer->getIPAddress());
int i = 0;
for (auto& peer : peers) {
auto p = ps.checkoutPeer(i + 1);
++i;
CPPUNIT_ASSERT_EQUAL(peer->getIPAddress(), p->getIPAddress());
}
CPPUNIT_ASSERT(!ps.checkoutPeer(len + 1));
CPPUNIT_ASSERT(!ps.checkoutPeer(peers.size() + 1));
}
void DefaultPeerStorageTest::testReturnPeer()