From f96ed2f3195166485875e801cd0d923023a2dd4e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 21 Oct 2018 13:49:34 +0200 Subject: Async bootstrap connect --- tests/main.cpp | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'tests/main.cpp') diff --git a/tests/main.cpp b/tests/main.cpp index e262e02..7bb63e2 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -14,10 +14,21 @@ int main() const sibs::PubsubKey key2("zbcdefghcjklmn3pqrs5uvx2z0123F56789", 35); sibs::BootstrapNode boostrapNode(sibs::Ipv4(nullptr, PORT)); - sibs::BootstrapConnection connection1(sibs::Ipv4("127.0.0.1", PORT)); + bool connectionFailure = false; + try + { + sibs::BootstrapConnection::create(sibs::Ipv4("127.0.0.1", 2222)).get(); + } + catch(sibs::BootstrapConnectionException &e) + { + connectionFailure = true; + } + REQUIRE(connectionFailure); + + std::unique_ptr connection1 = sibs::BootstrapConnection::create(sibs::Ipv4("127.0.0.1", PORT)).get(); bool gotData1 = false; bool gotAsdf1 = false; - connection1.listen(key, [&gotData1, &gotAsdf1](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) + connection1->listen(key, [&gotData1, &gotAsdf1](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) { if(size == 5 && strncmp((const char*)data, "hello", 5) == 0) gotData1 = true; @@ -26,10 +37,10 @@ int main() return true; }); - sibs::BootstrapConnection connection2(sibs::Ipv4("127.0.0.1", PORT)); + std::unique_ptr connection2 = sibs::BootstrapConnection::create(sibs::Ipv4("127.0.0.1", PORT)).get(); bool gotData2 = false; bool gotAsdf2 = false; - connection2.listen(key, [&gotData2, &gotAsdf2](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) + connection2->listen(key, [&gotData2, &gotAsdf2](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) { if(size == 5 && strncmp((const char*)data, "hello", 5) == 0) gotData2 = true; @@ -39,7 +50,7 @@ int main() }); bool gotListen = false; - connection1.listen(key2, [&gotListen](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) + connection1->listen(key2, [&gotListen](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) { if(size == 14 && strncmp((const char*)data, "secondListener", 14) == 0) gotListen = true; @@ -47,16 +58,16 @@ int main() }); bool gotListen2 = false; - connection2.listen(key2, [&gotListen2](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) + connection2->listen(key2, [&gotListen2](const sibs::DirectConnectionPeer *peer, const void *data, const sibs::usize size) { if(size == 14 && strncmp((const char*)data, "secondListener", 14) == 0) gotListen2 = true; return true; }); - connection1.put(key, "hello", 5); - connection2.put(key, "asdf", 4); - connection1.put(key2, "secondListener", 14); + connection1->put(key, "hello", 5); + connection2->put(key, "asdf", 4); + connection1->put(key2, "secondListener", 14); std::this_thread::sleep_for(std::chrono::seconds(6)); REQUIRE(gotData1); -- cgit v1.2.3