Update boost::asio usage to conform to newer standards: (#144)

* Convert boost::asio::io_service to boost::asio::io_context
  * Convert strand.wrap(...) to boost::asio::bind_executor(strand, ...)
  * Convert strand.dispatch(...) to boost::asio::dispatch(strand, ...)
  * Convert io_context.reset() to io_context.restart()
  * Convert null_buffers() usage to socket.async_wait(...)
  * Drop usage of GET_IO_SERVICE macro from monero
  * Refactor REST server to manage resources better
This commit is contained in:
Lee *!* Clagett
2024-11-20 10:53:40 -05:00
committed by Lee *!* Clagett
parent 5796dad3b8
commit 66b7497a34
17 changed files with 259 additions and 197 deletions

View File

@@ -86,7 +86,7 @@ namespace net { namespace zmq
}
}
expect<async_client> async_client::make(boost::asio::io_service& io, socket zsock)
expect<async_client> async_client::make(boost::asio::io_context& io, socket zsock)
{
MONERO_PRECOND(zsock != nullptr);

View File

@@ -28,7 +28,7 @@
#pragma once
#include <boost/asio/compose.hpp>
#include <boost/asio/io_service.hpp>
#include <boost/asio/io_context.hpp>
#include <boost/asio/posix/stream_descriptor.hpp>
#include <boost/system/error_code.hpp>
#include <cstddef>
@@ -63,7 +63,7 @@ namespace net { namespace zmq
asocket asock;
bool close;
static expect<async_client> make(boost::asio::io_service& io, socket zsock);
static expect<async_client> make(boost::asio::io_context& io, socket zsock);
};
class read_msg_op
@@ -94,7 +94,7 @@ namespace net { namespace zmq
return self.complete(make_error_code(msg.error()), 0);
// try again
sock_->asock->async_read_some(boost::asio::null_buffers(), std::move(self));
sock_->asock->async_wait(boost::asio::posix::stream_descriptor::wait_read, std::move(self));
return;
}
@@ -133,7 +133,7 @@ namespace net { namespace zmq
return self.complete(make_error_code(status.error()), 0);
// try again
sock_->asock->async_write_some(boost::asio::null_buffers(), std::move(self));
sock_->asock->async_wait(boost::asio::posix::stream_descriptor::wait_write, std::move(self));
return;
}