16#include "boost/bind.hpp"
18#include "gflags/gflags.h"
26 endpoint(boost::asio::ip::tcp::v4(), (uint16_t)FLAGS_port),
27 acceptor(io, endpoint),
36 signals.async_wait(boost::bind(&Server::stop, shared_from_this(),
37 boost::asio::placeholders::error,
38 boost::asio::placeholders::signal_number));
45void Server::stop(
const boost::system::error_code& ec,
int signal_number) {
47 AERROR <<
"Error waiting on signals: " << ec.message();
49 AINFO <<
"Signal " << signal_number <<
" received, stopping server";
55void Server::begin_accept() {
56 acceptor.async_accept(socket,
57 boost::bind(&Server::end_accept, shared_from_this(),
58 boost::asio::placeholders::error));
61void Server::end_accept(
const boost::system::error_code& ec) {
62 if (!acceptor.is_open()) {
67 AERROR <<
"Error accepting connection: " << ec.message();
69 auto client = std::make_shared<Client>(&node, &clients, std::move(socket));
70 clients.
start(client);
void start(std::shared_ptr< Client > client)
DEFINE_int32(port, 9090, "tcp listen port")
Copyright (c) 2019 LG Electronics, Inc.