AdcNetServiceASIOBase: delete move constructor (asio::streambuf is not

movable), acceptor_t.asyncAccept completion token has signature:
void(std::error_code, std::shared_ptr<netservice_t>)
This commit is contained in:
2024-10-02 16:43:45 +03:00
parent f329bcecec
commit 3d89dd3715
5 changed files with 103 additions and 54 deletions

View File

@@ -7,8 +7,8 @@
template <typename T>
void receive(T srv)
{
srv.asyncReceive(
[&srv](std::error_code ec, std::string msg) {
srv->asyncReceive(
[srv](std::error_code ec, std::string msg) {
if (!ec) {
std::cout << "Received: [" << msg << "]\n";
receive(std::move(srv));
@@ -34,19 +34,9 @@ int main()
typename srv_t::acceptor_t acc(ctx, ept_c);
acc.asyncAccept([](std::error_code ec, srv_t srv) {
acc.asyncAccept([](std::error_code ec, auto srv) {
if (!ec) {
// receive(std::move(srv));
srv.asyncReceive(
[](std::error_code ec, std::string msg) {
if (!ec) {
std::cout << "Received: [" << msg << "]\n";
// receive(std::move(srv));
} else {
std::cout << "Received: " << ec.message() << "\n";
}
},
std::chrono::minutes(1));
receive(std::move(srv));
} else {
std::cout << "ACCEPT ERR: " << ec.message() << "\n";
}