MCPcopy Create free account
hub / github.com/boostorg/asio / server

Method server

example/cpp11/http/server/server.cpp:18–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16namespace server {
17
18server::server(const std::string& address, const std::string& port,
19 const std::string& doc_root)
20 : io_context_(1),
21 signals_(io_context_),
22 acceptor_(io_context_),
23 connection_manager_(),
24 request_handler_(doc_root)
25{
26 // Register to handle the signals that indicate when the server should exit.
27 // It is safe to register for the same signal multiple times in a program,
28 // provided all registration for the specified signal is made through Asio.
29 signals_.add(SIGINT);
30 signals_.add(SIGTERM);
31#if defined(SIGQUIT)
32 signals_.add(SIGQUIT);
33#endif // defined(SIGQUIT)
34
35 do_await_stop();
36
37 // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
38 boost::asio::ip::tcp::resolver resolver(io_context_);
39 boost::asio::ip::tcp::endpoint endpoint =
40 *resolver.resolve(address, port).begin();
41 acceptor_.open(endpoint.protocol());
42 acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
43 acceptor_.bind(endpoint);
44 acceptor_.listen();
45
46 do_accept();
47}
48
49void server::run()
50{

Callers

nothing calls this directly

Calls 8

addMethod · 0.45
beginMethod · 0.45
resolveMethod · 0.45
openMethod · 0.45
protocolMethod · 0.45
set_optionMethod · 0.45
bindMethod · 0.45
listenMethod · 0.45

Tested by

no test coverage detected