RESTinio
Loading...
Searching...
No Matches
restinio::impl::connection_settings_t< Traits > Struct Template Referencefinal

Parameters shared between connections. More...

#include <connection_settings.hpp>

Inheritance diagram for restinio::impl::connection_settings_t< Traits >:
restinio::impl::connection_settings_details::state_listener_holder_t< Traits::connection_state_listener_t >

Public Types

using timer_manager_t = typename Traits::timer_manager_t
using timer_manager_handle_t = std::shared_ptr< timer_manager_t >
using request_handler_t = request_handler_type_from_traits_t< Traits >
using logger_t = typename Traits::logger_t
using connection_state_listener_holder_t
using extra_data_factory_handle_t
 An alias for shared-pointer to extra-data-factory.

Public Member Functions

 connection_settings_t (const connection_settings_t &)=delete
 connection_settings_t (const connection_settings_t &&)=delete
connection_settings_toperator= (const connection_settings_t &)=delete
connection_settings_toperator= (connection_settings_t &&)=delete
template<typename Settings>
 connection_settings_t (Settings &&settings, llhttp_settings_t parser_settings, timer_manager_handle_t timer_manager)
auto create_timer_guard ()
 Create new timer guard.
auto & extra_data_factory () const noexcept
 Get a reference to extra-data-factory object.
Public Member Functions inherited from restinio::impl::connection_settings_details::state_listener_holder_t< Traits::connection_state_listener_t >
 state_listener_holder_t (const Settings &settings)
void call_state_listener (Lambda &&lambda) const
void call_state_listener_suppressing_exceptions (Lambda &&lambda) const noexcept

Public Attributes

std::unique_ptr< request_handler_tm_request_handler
 Request handler factory.
const llhttp_settings_t m_parser_settings
 Parser settings.
std::size_t m_buffer_size
 Params from server_settings_t.
const incoming_http_msg_limits_t m_incoming_http_msg_limits
std::chrono::steady_clock::duration m_read_next_http_message_timelimit { std::chrono::seconds( 60 ) }
std::chrono::steady_clock::duration m_write_http_response_timelimit { std::chrono::seconds( 5 ) }
std::chrono::steady_clock::duration m_handle_request_timeout { std::chrono::seconds( 10 ) }
std::size_t m_max_pipelined_requests
const std::unique_ptr< logger_tm_logger
Public Attributes inherited from restinio::impl::connection_settings_details::state_listener_holder_t< Traits::connection_state_listener_t >
std::shared_ptr< Traits::connection_state_listener_t > m_connection_state_listener

Private Attributes

timer_manager_handle_t m_timer_manager
 Timer factory for timout guards.
extra_data_factory_handle_t m_extra_data_factory
 A factory for instances of extra-data incorporated into a request.

Detailed Description

template<typename Traits>
struct restinio::impl::connection_settings_t< Traits >

Parameters shared between connections.

Each connection has access to common params and server-agent throught this object.

Definition at line 110 of file connection_settings.hpp.

Member Typedef Documentation

◆ connection_state_listener_holder_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::connection_state_listener_holder_t
Initial value:
typename Traits::connection_state_listener_t >

Definition at line 122 of file connection_settings.hpp.

◆ extra_data_factory_handle_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::extra_data_factory_handle_t
Initial value:
std::shared_ptr< typename Traits::extra_data_factory_t >

An alias for shared-pointer to extra-data-factory.

Since
v.0.6.13

Definition at line 131 of file connection_settings.hpp.

◆ logger_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::logger_t = typename Traits::logger_t

Definition at line 120 of file connection_settings.hpp.

◆ request_handler_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::request_handler_t = request_handler_type_from_traits_t< Traits >

Definition at line 118 of file connection_settings.hpp.

◆ timer_manager_handle_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::timer_manager_handle_t = std::shared_ptr< timer_manager_t >

Definition at line 116 of file connection_settings.hpp.

◆ timer_manager_t

template<typename Traits>
using restinio::impl::connection_settings_t< Traits >::timer_manager_t = typename Traits::timer_manager_t

Definition at line 115 of file connection_settings.hpp.

Constructor & Destructor Documentation

◆ connection_settings_t() [1/3]

template<typename Traits>
restinio::impl::connection_settings_t< Traits >::connection_settings_t ( const connection_settings_t< Traits > & )
delete

◆ connection_settings_t() [2/3]

template<typename Traits>
restinio::impl::connection_settings_t< Traits >::connection_settings_t ( const connection_settings_t< Traits > && )
delete

◆ connection_settings_t() [3/3]

template<typename Traits>
template<typename Settings>
restinio::impl::connection_settings_t< Traits >::connection_settings_t ( Settings && settings,
llhttp_settings_t parser_settings,
timer_manager_handle_t timer_manager )
inline

Definition at line 140 of file connection_settings.hpp.

Member Function Documentation

◆ create_timer_guard()

template<typename Traits>
auto restinio::impl::connection_settings_t< Traits >::create_timer_guard ( )
inline

Create new timer guard.

Definition at line 201 of file connection_settings.hpp.

◆ extra_data_factory()

template<typename Traits>
auto & restinio::impl::connection_settings_t< Traits >::extra_data_factory ( ) const
inlinenodiscardnoexcept

Get a reference to extra-data-factory object.

Since
v.0.6.13

Definition at line 213 of file connection_settings.hpp.

◆ operator=() [1/2]

template<typename Traits>
connection_settings_t & restinio::impl::connection_settings_t< Traits >::operator= ( connection_settings_t< Traits > && )
delete

◆ operator=() [2/2]

template<typename Traits>
connection_settings_t & restinio::impl::connection_settings_t< Traits >::operator= ( const connection_settings_t< Traits > & )
delete

Member Data Documentation

◆ m_buffer_size

template<typename Traits>
std::size_t restinio::impl::connection_settings_t< Traits >::m_buffer_size

Params from server_settings_t.

Definition at line 178 of file connection_settings.hpp.

◆ m_extra_data_factory

template<typename Traits>
extra_data_factory_handle_t restinio::impl::connection_settings_t< Traits >::m_extra_data_factory
private

A factory for instances of extra-data incorporated into a request.

Attention
This value is expected to be not-null.
Since
v.0.6.13

Definition at line 230 of file connection_settings.hpp.

◆ m_handle_request_timeout

template<typename Traits>
std::chrono::steady_clock::duration restinio::impl::connection_settings_t< Traits >::m_handle_request_timeout { std::chrono::seconds( 10 ) }

Definition at line 192 of file connection_settings.hpp.

◆ m_incoming_http_msg_limits

template<typename Traits>
const incoming_http_msg_limits_t restinio::impl::connection_settings_t< Traits >::m_incoming_http_msg_limits
Since
v.0.6.12

Definition at line 183 of file connection_settings.hpp.

◆ m_logger

template<typename Traits>
const std::unique_ptr< logger_t > restinio::impl::connection_settings_t< Traits >::m_logger

Definition at line 196 of file connection_settings.hpp.

◆ m_max_pipelined_requests

template<typename Traits>
std::size_t restinio::impl::connection_settings_t< Traits >::m_max_pipelined_requests

Definition at line 194 of file connection_settings.hpp.

◆ m_parser_settings

template<typename Traits>
const llhttp_settings_t restinio::impl::connection_settings_t< Traits >::m_parser_settings

Parser settings.

Parsing settings are common for each connection.

Definition at line 174 of file connection_settings.hpp.

◆ m_read_next_http_message_timelimit

template<typename Traits>
std::chrono::steady_clock::duration restinio::impl::connection_settings_t< Traits >::m_read_next_http_message_timelimit { std::chrono::seconds( 60 ) }

Definition at line 186 of file connection_settings.hpp.

◆ m_request_handler

template<typename Traits>
std::unique_ptr< request_handler_t > restinio::impl::connection_settings_t< Traits >::m_request_handler

Request handler factory.

Definition at line 168 of file connection_settings.hpp.

◆ m_timer_manager

template<typename Traits>
timer_manager_handle_t restinio::impl::connection_settings_t< Traits >::m_timer_manager
private

Timer factory for timout guards.

Definition at line 220 of file connection_settings.hpp.

◆ m_write_http_response_timelimit

template<typename Traits>
std::chrono::steady_clock::duration restinio::impl::connection_settings_t< Traits >::m_write_http_response_timelimit { std::chrono::seconds( 5 ) }

Definition at line 189 of file connection_settings.hpp.


The documentation for this struct was generated from the following file: