9 boost::asio::io_service& io, boost::asio::ip::tcp::endpoint
const& ep,
10 std::shared_ptr<request_dispatcher> dispatcher)
12 , dispatcher_(dispatcher)
16 acceptor_.listen(boost::asio::socket_base::max_connections);
19 acceptor_.async_accept(
sock_, [
this](boost::system::error_code
const& ec) {
28 JB_LOG(
info) <<
"shutdown: acceptor close successful";
36 JB_LOG(
info) <<
"on_accept: acceptor is not open";
42 boost::asio::ip::tcp::socket sock(std::move(
sock_));
46 auto c = std::make_shared<connection>(std::move(sock),
dispatcher_);
56 JB_LOG(
info) <<
"on_accept: " << ec.message() <<
" [" 57 << ec.category().name() <<
"/" << ec.value() <<
"]";
61 acceptor_.async_accept(
sock_, [
this](boost::system::error_code
const& ec) {
void shutdown()
Gracefully shutdown the acceptor.
std::shared_ptr< request_dispatcher > dispatcher_
void on_accept(boost::system::error_code const &ec)
Handle a completed asynchronous accept() call.
boost::asio::ip::tcp::socket sock_
boost::asio::ip::tcp::endpoint local_endpoint() const
Return the local listening endpoint.
acceptor(boost::asio::io_service &io, boost::asio::ip::tcp::endpoint const &ep, std::shared_ptr< request_dispatcher > dispatcher)
Create an acceptor a Embedded HTTP Server and start accepting connections.
boost::asio::ip::tcp::acceptor acceptor_
The top-level namespace for the JayBeams library.