16 asio::io_context & io_context,
17 std::vector<int> signal_ids,
18 std::function<asio::awaitable<void>()> graceful_close_handler,
19 std::function<
void()> close_handler);
33 asio::io_context & _io_context;
34 asio::signal_set _signal_set;
36 std::function<asio::awaitable<void>()> _graceful_close_handler;
37 std::function<void()> _close_handler;
39 std::atomic<bool> _shutdown_started =
false;
40 std::size_t _registered_signal_count = 0;
41 bool _started =
false;