9using namespace boost::asio;
36 void Server::init(
const U16 port,
const string& broadcast_endpoint_address,
const bool debugOutput )
46 const boost::asio::ip::tcp::endpoint listen_endpoint( boost::asio::ip::tcp::v4(), port );
47 const boost::asio::ip::udp::endpoint broadcast_endpoint( boost::asio::ip::address::from_string( broadcast_endpoint_address.c_str() ), port );
55 new_session->getSocket(),
56 [&](
const boost::system::error_code code )
58 handle_accept( new_session, code );
62 std::unique_ptr<io_context::work> work(
new io_context::work(
_ioService ) );
63 _thread = std::make_unique<std::thread>( [
this]()
69 catch ( std::exception& e )
88 new_session->getSocket(),
89 [&](
const boost::system::error_code code )
91 handle_accept( new_session, code );
static void LOG_PRINT(const char *msg, bool error=false)
std::unique_ptr< std::thread > _thread
void handle_accept(const tcp_session_tpl_ptr &session, const boost::system::error_code &ec)
void init(U16 port, const string &broadcast_endpoint_address, bool debugOutput)
std::unique_ptr< tcp_acceptor > _acceptor
boost::asio::io_context _ioService
Str StringFormat(const char *fmt, Args &&...args)
Handle console commands that start with a forward slash.
std::shared_ptr< tcp_session_tpl > tcp_session_ptr
std::shared_ptr< subscriber > subscriber_ptr