From 1456fc7c9a42992c2a601dffd26e251ebab99c3f Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Fri, 18 Oct 2024 13:14:09 +0200 Subject: Fixing tls and writing a basic test for it --- modules/io-tls/examples/tls_client.cpp | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'modules/io-tls/examples') diff --git a/modules/io-tls/examples/tls_client.cpp b/modules/io-tls/examples/tls_client.cpp index e2ce4a5..d01e2bf 100644 --- a/modules/io-tls/examples/tls_client.cpp +++ b/modules/io-tls/examples/tls_client.cpp @@ -2,6 +2,8 @@ #include +#include + saw::error_or real_main(){ using namespace saw; auto eo_aio = setup_async_io(); @@ -9,6 +11,7 @@ saw::error_or real_main(){ return std::move(eo_aio.get_error()); } auto& aio = eo_aio.get_value(); + wait_scope wait{aio.event_loop}; auto eo_tls_net = setup_tls_network(aio.io->get_network()); if(eo_tls_net.is_error()){ @@ -16,6 +19,52 @@ saw::error_or real_main(){ } auto& tls_net = eo_tls_net.get_value(); + auto eo_tls_addr = tls_net->resolve_address("keldu.de", 443).take(); + if(eo_tls_addr.is_error()){ + return std::move(eo_tls_addr.get_error()); + } + auto& tls_addr = eo_tls_addr.get_value(); + + ring_buffer buff{4096u * 4096u}; + + own>> tls_io = nullptr; + + std::cout<<"Preparing to connect"<connect(*tls_addr).then([&](auto tls_io_str){ + tls_io = std::move(tls_io_str); + std::cout<<"Connected"<write(&get_req[0], get_req.size()); + + std::cout<<"Sending: "<("Never managed to connect"); + } + { + auto read_res = tls_io->read(&buff.write(), buff.write_segment_length()); + if(read_res.is_error()){ + std::cerr<<":("<