2
3
6
7
13#include <restinio/connection_state_listener.hpp>
14#include <restinio/incoming_http_msg_limits.hpp>
16#include <restinio/utils/suppress_exceptions.hpp>
31
32
33
34
35
36
37
38
39template<
typename Listener >
44 template<
typename Settings >
46 const Settings & settings )
50 template<
typename Lambda >
57 template<
typename Lambda >
60 Lambda && lambda )
const noexcept
69
70
71
72
73
74
75
79 template<
typename Settings >
82 template<
typename Lambda >
89 template<
typename Lambda >
92 Lambda && )
const noexcept
106
107
108
109template <
typename Traits >
127
128
129
130
139 template <
typename Settings >
141 Settings && settings,
142 llhttp_settings_t parser_settings,
160 if( !m_timer_manager )
161 throw exception_t{
"timer manager not set" };
163 if( !m_extra_data_factory )
164 throw exception_t{
"extra_data_factory is nullptr" };
172
173
181
182
185 std::chrono::steady_clock::duration
188 std::chrono::steady_clock::duration
191 std::chrono::steady_clock::duration
207
208
209
210
223
224
225
226
227
228
229
233template <
typename Traits >
A type of holder of limits related to an incoming HTTP message.
std::shared_ptr< connection_settings_t< Traits > > connection_settings_handle_t
The default no-op state listener.
A specialization of state_listener_holder for case of noop_listener.
void call_state_listener(Lambda &&) const noexcept
state_listener_holder_t(const Settings &)
void call_state_listener_suppressing_exceptions(Lambda &&) const noexcept
A class for holding actual state listener.
void call_state_listener(Lambda &&lambda) const
void call_state_listener_suppressing_exceptions(Lambda &&lambda) const noexcept
state_listener_holder_t(const Settings &settings)
std::shared_ptr< Listener > m_connection_state_listener
std::shared_ptr< typename Traits::extra_data_factory_t > extra_data_factory_handle_t
An alias for shared-pointer to extra-data-factory.
std::size_t m_buffer_size
Params from server_settings_t.
std::size_t m_max_pipelined_requests
const llhttp_settings_t m_parser_settings
Parser settings.
connection_settings_details::state_listener_holder_t< typename Traits::connection_state_listener_t > connection_state_listener_holder_t
typename Traits::logger_t logger_t
request_handler_type_from_traits_t< Traits > request_handler_t
connection_settings_t & operator=(const connection_settings_t &)=delete
timer_manager_handle_t m_timer_manager
Timer factory for timout guards.
std::chrono::steady_clock::duration m_handle_request_timeout
connection_settings_t(Settings &&settings, llhttp_settings_t parser_settings, timer_manager_handle_t timer_manager)
std::shared_ptr< timer_manager_t > timer_manager_handle_t
std::unique_ptr< request_handler_t > m_request_handler
Request handler factory.
connection_settings_t & operator=(connection_settings_t &&)=delete
connection_settings_t(const connection_settings_t &)=delete
auto & extra_data_factory() const noexcept
Get a reference to extra-data-factory object.
const std::unique_ptr< logger_t > m_logger
connection_settings_t(const connection_settings_t &&)=delete
typename Traits::timer_manager_t timer_manager_t
extra_data_factory_handle_t m_extra_data_factory
A factory for instances of extra-data incorporated into a request.
std::chrono::steady_clock::duration m_write_http_response_timelimit
const incoming_http_msg_limits_t m_incoming_http_msg_limits
std::chrono::steady_clock::duration m_read_next_http_message_timelimit
auto create_timer_guard()
Create new timer guard.