Skip to content

Commit

Permalink
Remove namespace alias in Connection
Browse files Browse the repository at this point in the history
  • Loading branch information
MPogotsky committed Oct 8, 2024
1 parent 5035d81 commit d0b18b8
Showing 1 changed file with 14 additions and 18 deletions.
32 changes: 14 additions & 18 deletions xapi/Connection.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
#include "Connection.hpp"
#include "Exceptions.hpp"

// TODO: Remove this namespace alias
namespace asio = boost::asio;
namespace beast = boost::beast;
namespace ip = boost::asio::ip;

namespace xapi
{
namespace internals
Expand All @@ -20,15 +15,16 @@ Connection::Connection(boost::asio::io_context &ioContext)

boost::asio::awaitable<void> Connection::connect(const boost::url &url)
{
const auto executor = co_await asio::this_coro::executor;
const auto executor = co_await boost::asio::this_coro::executor;
try
{
ip::tcp::resolver resolver(executor);
auto const results = co_await resolver.async_resolve(url.host(), m_websocketDefaultPort, asio::use_awaitable);
boost::asio::ip::tcp::resolver resolver(executor);
auto const results =
co_await resolver.async_resolve(url.host(), m_websocketDefaultPort, boost::asio::use_awaitable);

co_await establishSSLConnection(results, url.host().c_str());

co_await m_websocket.async_handshake(url.host(), url.path(), asio::use_awaitable);
co_await m_websocket.async_handshake(url.host(), url.path(), boost::asio::use_awaitable);
m_connectionEstablished = true;
}
catch (const boost::system::system_error &e)
Expand All @@ -42,17 +38,17 @@ boost::asio::awaitable<void> Connection::establishSSLConnection(
{
try
{
auto &tcpStream = beast::get_lowest_layer(m_websocket);
co_await tcpStream.async_connect(results, asio::use_awaitable);
auto &tcpStream = boost::beast::get_lowest_layer(m_websocket);
co_await tcpStream.async_connect(results, boost::asio::use_awaitable);
tcpStream.expires_after(std::chrono::seconds(30));

auto &sslStream = m_websocket.next_layer();
if (!SSL_set_tlsext_host_name(sslStream.native_handle(), host))
{
beast::error_code ec(static_cast<int>(::ERR_get_error()), asio::error::get_ssl_category());
throw beast::system_error{ec};
boost::beast::error_code ec(static_cast<int>(::ERR_get_error()), boost::asio::error::get_ssl_category());
throw boost::beast::system_error{ec};
}
co_await sslStream.async_handshake(asio::ssl::stream_base::client, asio::use_awaitable);
co_await sslStream.async_handshake(boost::asio::ssl::stream_base::client, boost::asio::use_awaitable);

tcpStream.expires_never();
}
Expand All @@ -66,7 +62,7 @@ boost::asio::awaitable<void> Connection::disconnect()
{
if (m_connectionEstablished)
{
co_await m_websocket.async_close(beast::websocket::close_code::normal, asio::use_awaitable);
co_await m_websocket.async_close(boost::beast::websocket::close_code::normal, boost::asio::use_awaitable);
m_connectionEstablished = false;
}
};
Expand All @@ -83,7 +79,7 @@ boost::asio::awaitable<void> Connection::makeRequest(const boost::json::object &
try
{
const std::string message = boost::json::serialize(command);
co_await m_websocket.async_write(asio::buffer(message), asio::use_awaitable);
co_await m_websocket.async_write(boost::asio::buffer(message), boost::asio::use_awaitable);
m_lastRequestTime = std::chrono::system_clock::now();
}
catch (const boost::system::system_error &e)
Expand All @@ -97,8 +93,8 @@ boost::asio::awaitable<boost::json::object> Connection::waitResponse()
boost::beast::flat_buffer buffer;
try
{
co_await m_websocket.async_read(buffer, asio::use_awaitable);
auto dataString = beast::buffers_to_string(buffer.data());
co_await m_websocket.async_read(buffer, boost::asio::use_awaitable);
auto dataString = boost::beast::buffers_to_string(buffer.data());
buffer.consume(buffer.size());

boost::json::object jsonData = boost::json::parse(dataString).as_object();
Expand Down

0 comments on commit d0b18b8

Please sign in to comment.