Examples use bind_front_handler

This commit is contained in:
Vinnie Falco
2019-02-14 16:20:27 -08:00
parent 92add2afa6
commit 18447553ca
26 changed files with 248 additions and 397 deletions
@@ -248,11 +248,9 @@ class session : public std::enable_shared_from_this<session>
http::async_write(
self_.stream_,
*sp,
std::bind(
beast::bind_front_handler(
&session::on_write,
self_.shared_from_this(),
std::placeholders::_1,
std::placeholders::_2,
sp->need_eof()));
}
};
@@ -287,10 +285,9 @@ public:
// Perform the SSL handshake
stream_.async_handshake(
ssl::stream_base::server,
std::bind(
beast::bind_front_handler(
&session::on_handshake,
shared_from_this(),
std::placeholders::_1));
shared_from_this()));
}
void
@@ -314,11 +311,9 @@ public:
// Read a request
http::async_read(stream_, buffer_, req_,
std::bind(
beast::bind_front_handler(
&session::on_read,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
@@ -341,9 +336,9 @@ public:
void
on_write(
bool close,
beast::error_code ec,
std::size_t bytes_transferred,
bool close)
std::size_t bytes_transferred)
{
boost::ignore_unused(bytes_transferred);
@@ -372,10 +367,9 @@ public:
// Perform the SSL shutdown
stream_.async_shutdown(
std::bind(
beast::bind_front_handler(
&session::on_shutdown,
shared_from_this(),
std::placeholders::_1));
shared_from_this()));
}
void
@@ -456,11 +450,9 @@ public:
do_accept()
{
acceptor_.async_accept(
std::bind(
beast::bind_front_handler(
&listener::on_accept,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
@@ -244,11 +244,9 @@ class session : public std::enable_shared_from_this<session>
http::async_write(
self_.stream_,
*sp,
std::bind(
beast::bind_front_handler(
&session::on_write,
self_.shared_from_this(),
std::placeholders::_1,
std::placeholders::_2,
sp->need_eof()));
}
};
@@ -290,11 +288,9 @@ public:
// Read a request
http::async_read(stream_, buffer_, req_,
std::bind(
beast::bind_front_handler(
&session::on_read,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
@@ -317,9 +313,9 @@ public:
void
on_write(
bool close,
beast::error_code ec,
std::size_t bytes_transferred,
bool close)
std::size_t bytes_transferred)
{
boost::ignore_unused(bytes_transferred);
@@ -416,11 +412,9 @@ public:
do_accept()
{
acceptor_.async_accept(
std::bind(
beast::bind_front_handler(
&listener::on_accept,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
+13 -24
View File
@@ -266,11 +266,9 @@ class session
http::async_write(
self_.derived().stream(),
*sp,
std::bind(
beast::bind_front_handler(
&session::on_write,
self_.derived().shared_from_this(),
std::placeholders::_1,
std::placeholders::_2,
sp->need_eof()));
}
};
@@ -306,11 +304,9 @@ public:
derived().stream(),
buffer_,
req_,
std::bind(
beast::bind_front_handler(
&session::on_read,
derived().shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
derived().shared_from_this()));
}
void
@@ -333,9 +329,9 @@ public:
void
on_write(
bool close,
beast::error_code ec,
std::size_t bytes_transferred,
bool close)
std::size_t bytes_transferred)
{
boost::ignore_unused(bytes_transferred);
@@ -442,11 +438,9 @@ public:
stream_.async_handshake(
ssl::stream_base::server,
buffer_.data(),
std::bind(
beast::bind_front_handler(
&ssl_session::on_handshake,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
on_handshake(
@@ -470,10 +464,9 @@ public:
// Perform the SSL shutdown
stream_.async_shutdown(
std::bind(
beast::bind_front_handler(
&ssl_session::on_shutdown,
shared_from_this(),
std::placeholders::_1));
shared_from_this()));
}
void
@@ -518,11 +511,9 @@ public:
async_detect_ssl(
stream_,
buffer_,
std::bind(
beast::bind_front_handler(
&detect_session::on_detect,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
@@ -616,11 +607,9 @@ public:
do_accept()
{
acceptor_.async_accept(
std::bind(
beast::bind_front_handler(
&listener::on_accept,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
shared_from_this()));
}
void
@@ -251,11 +251,9 @@ class session
http::async_write(
self_.stream_,
*sp,
std::bind(
beast::bind_front_handler(
&session::loop,
self_.shared_from_this(),
std::placeholders::_1,
std::placeholders::_2,
sp->need_eof()));
}
};
@@ -283,15 +281,15 @@ public:
void
run()
{
loop({}, 0, false);
loop(false, {}, 0);
}
#include <boost/asio/yield.hpp>
void
loop(
bool close,
beast::error_code ec,
std::size_t bytes_transferred,
bool close)
std::size_t bytes_transferred)
{
boost::ignore_unused(bytes_transferred);
reenter(*this)
@@ -307,11 +305,9 @@ public:
// Read a request
yield http::async_read(stream_, buffer_, req_,
std::bind(
beast::bind_front_handler(
&session::loop,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2,
false));
if(ec == http::error::end_of_stream)
{
@@ -419,10 +415,9 @@ public:
{
yield acceptor_.async_accept(
socket_,
std::bind(
beast::bind_front_handler(
&listener::loop,
shared_from_this(),
std::placeholders::_1));
shared_from_this()));
if(ec)
{
fail(ec, "accept");