diff options
author | dec05eba <0xdec05eba@gmail.com> | 2018-10-21 13:49:34 +0200 |
---|---|---|
committer | dec05eba <0xdec05eba@gmail.com> | 2018-10-21 13:49:34 +0200 |
commit | 1e1e4e0bbb9734e902e51339ebb8c274c2082e08 (patch) | |
tree | fd8998e9800ff464df450b71057a9590ae8e8199 /tests | |
parent | f0a2053c2b44298a8cf1aacbafb29870ed521aa0 (diff) |
Async bootstrap connect
Diffstat (limited to 'tests')
-rw-r--r-- | tests/main.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
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<sibs::BootstrapConnection> 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<sibs::BootstrapConnection> 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); |