Go to the documentation of this file.
11 #include <http_parser.h>
27 namespace connection_settings_details
39 template<
typename Listener >
44 template<
typename Settings >
46 const Settings & settings )
50 template<
typename Lambda >
57 template<
typename Lambda >
60 Lambda && lambda )
const noexcept
79 template<
typename Settings >
82 template<
typename Lambda >
89 template<
typename Lambda >
92 Lambda && )
const noexcept
109 template <
typename Traits >
111 :
public std::enable_shared_from_this< connection_settings_t< Traits > >
113 typename Traits::connection_state_listener_t >
122 typename Traits::connection_state_listener_t >;
129 template <
typename Settings >
131 Settings && settings,
132 http_parser_settings parser_settings,
140 settings.read_next_http_message_timelimit() }
142 settings.write_http_response_timelimit() }
144 settings.handle_request_timeout() }
150 throw exception_t{
"timer manager not set" };
171 std::chrono::steady_clock::duration
174 std::chrono::steady_clock::duration
177 std::chrono::steady_clock::duration
197 template <
typename Traits >
199 std::shared_ptr< connection_settings_t< Traits > >;
const std::unique_ptr< logger_t > m_logger
std::chrono::steady_clock::duration m_write_http_response_timelimit
connection_settings_t(const connection_settings_t &&)=delete
void call_state_listener(Lambda &&lambda) const
Stuff related to connection state listeners.
void suppress_exceptions_quietly(Lambda &&lambda) noexcept
Helper function for execution a block of code with suppression of any exceptions raised inside that b...
const http_parser_settings m_parser_settings
Parser settings.
timer_manager_handle_t m_timer_manager
Timer factory for timout guards.
A type of holder of limits related to an incoming HTTP message.
void call_state_listener_suppressing_exceptions(Lambda &&lambda) const noexcept
A class for holding actual state listener.
Stuff related to limits of an incoming HTTP message.
std::size_t m_max_pipelined_requests
std::shared_ptr< connection_settings_t< Traits > > connection_settings_handle_t
std::unique_ptr< request_handler_t > m_request_handler
Request handler factory.
void call_state_listener_suppressing_exceptions(Lambda &&) const noexcept
std::chrono::steady_clock::duration m_read_next_http_message_timelimit
typename Traits::timer_manager_t timer_manager_t
std::shared_ptr< timer_manager_t > timer_manager_handle_t
Utilities for suppressing exceptions from some code block.
std::shared_ptr< Listener > m_connection_state_listener
connection_settings_t(Settings &&settings, http_parser_settings parser_settings, timer_manager_handle_t timer_manager)
state_listener_holder_t(const Settings &settings)
Parameters shared between connections.
typename Traits::request_handler_t request_handler_t
std::chrono::steady_clock::duration m_handle_request_timeout
state_listener_holder_t(const Settings &)
const incoming_http_msg_limits_t m_incoming_http_msg_limits
std::size_t m_buffer_size
Params from server_settings_t.
connection_settings_t(const connection_settings_t &)=delete
void call_state_listener(Lambda &&) const noexcept
auto create_timer_guard()
Create new timer guard.
typename Traits::logger_t logger_t
connection_settings_t & operator=(const connection_settings_t &)=delete