Exemple #1
0
TEST_F(P2pSessionTest, testCannotConnectPeerBeforeHostConnected)
{
    TestP2pEventHandler peerEventHandler1;
    boost::scoped_ptr<P2pSession> peer1(
        P2pSessionFactory::create(2, peerEventHandler1));
    EXPECT_TRUE(peer1->open(ACE_DEFAULT_SERVER_PORT + 1));

    TestP2pEventHandler peerEventHandler2;
    boost::scoped_ptr<P2pSession> peer2(
        P2pSessionFactory::create(3, peerEventHandler2));
    EXPECT_TRUE(peer2->open(ACE_DEFAULT_SERVER_PORT + 2));

    peer1->connect(getHostAddresses());

    for (int i = 0; i < (2 * 3); ++i) {
        peer1->tick();
        hostSession_->tick();
    }

    peer2->connect(peer1->getAddresses(2));

    for (int i = 0; i < (2 * 3); ++i) {
        peer1->tick();
        peer2->tick();
        hostSession_->tick();
    }

    EXPECT_EQ(2, int(hostSession_->getPeerCount()));
    EXPECT_EQ(2, int(peer1->getPeerCount()));
}
Exemple #2
0
TEST(PeerTests, FromSocket) {
    struct sockaddr_in socket_name;
    socket_name.sin_family = AF_INET;
    socket_name.sin_port = htons(8080);
    inet_pton(AF_INET, "127.0.0.1", &socket_name.sin_addr);
    gallocy::common::Peer peer1(socket_name);
    ASSERT_EQ(peer1.get_string(), "127.0.0.1:8080");
}
Exemple #3
0
TEST_F(P2pSessionTest, testUnicast)
{
    TestRpcPlugIn* peerRpcPlugIn1;
    TestP2pEventHandler peerEventHandler1;
    boost::scoped_ptr<P2pSession> peer1(
        P2pSessionFactory::create(2, peerEventHandler1));
    peerRpcPlugIn1 = new TestRpcPlugIn;
    PlugInPtr plugIn1(peerRpcPlugIn1);
    peer1->attach(plugIn1);
    EXPECT_TRUE(peer1->open(ACE_DEFAULT_SERVER_PORT + 1));
    peer1->connect(getHostAddresses());

    for (int i = 0; i < (2 * 3); ++i) {
        peer1->tick();
        hostSession_->tick();
    }

    TestRpcPlugIn* peerRpcPlugIn2;
    TestP2pEventHandler peerEventHandler2;
    boost::scoped_ptr<P2pSession> peer2(
        P2pSessionFactory::create(3, peerEventHandler2));
    peerRpcPlugIn2 = new TestRpcPlugIn;
    PlugInPtr plugIn2(peerRpcPlugIn2);
    peer2->attach(plugIn2);
    EXPECT_TRUE(peer2->open(ACE_DEFAULT_SERVER_PORT + 2));
    peer2->connect(getHostAddresses());

    for (int i = 0; i < (2 * 4); ++i) {
        peer1->tick();
        peer2->tick();
        hostSession_->tick();
    }

    EXPECT_EQ(int(hostSession_->getPeerCount()), int(peer1->getPeerCount()));

    const PeerHint hint(2);
    hostRpcPlugIn_->hello("hi", &hint);

    for (int i = 0; i < (2 * 3); ++i) {
        hostSession_->tick();
        peer1->tick();
        peer2->tick();
    }

    EXPECT_EQ("hi", peerRpcPlugIn1->getLastWorld());
    EXPECT_EQ(PeerId(1), peerRpcPlugIn1->getLastPeerId());

    EXPECT_EQ("", peerRpcPlugIn2->getLastWorld());
    EXPECT_EQ(invalidPeerId, peerRpcPlugIn2->getLastPeerId());
}
Exemple #4
0
TEST(PeerTests, GetSocket) {
    gallocy::common::Peer peer1("127.0.0.1", 8080);
    ASSERT_EQ(peer1.get_string(), "127.0.0.1:8080");
    ASSERT_EQ(ntohs(peer1.get_socket().sin_port), 8080);
}