|
RESTinio
|
Basic container for http_server settings. More...
#include <settings.hpp>
Public Member Functions | |
| basic_server_settings_t (std::uint16_t port=8080, asio_ns::ip::tcp protocol=asio_ns::ip::tcp::v4()) | |
| Derived & | buffer_size (std::size_t s) & |
| Size of buffer for io operations. More... | |
| Derived && | buffer_size (std::size_t s) && |
| std::size_t | buffer_size () const |
| Derived & | connection_state_listener (std::shared_ptr< typename Traits::connection_state_listener_t > listener) & |
| Setter for connection state listener. More... | |
| Derived && | connection_state_listener (std::shared_ptr< typename Traits::connection_state_listener_t > listener) && |
| Setter for connection state listener. More... | |
| const std::shared_ptr< typename Traits::connection_state_listener_t > & | connection_state_listener () const noexcept |
| Get reference to connection state listener. More... | |
| void | ensure_valid_connection_state_listener () |
| Internal method for checking presence of state listener object. More... | |
| Derived & | ip_blocker (std::shared_ptr< typename Traits::ip_blocker_t > blocker) & |
| Setter for IP-blocker. More... | |
| Derived && | ip_blocker (std::shared_ptr< typename Traits::ip_blocker_t > blocker) && |
| Setter for IP-blocker. More... | |
| const std::shared_ptr< typename Traits::ip_blocker_t > & | ip_blocker () const noexcept |
| Get reference to IP-blocker. More... | |
| void | ensure_valid_ip_blocker () |
| Internal method for checking presence of IP-blocker object. More... | |
| Derived & | port (std::uint16_t p) & |
| Server endpoint. More... | |
| Derived && | port (std::uint16_t p) && |
| std::uint16_t | port () const |
| Derived & | protocol (asio_ns::ip::tcp p) & |
| Derived && | protocol (asio_ns::ip::tcp p) && |
| asio_ns::ip::tcp | protocol () const |
| Derived & | address (std::string addr) & |
| Derived && | address (std::string addr) && |
| const std::string & | address () const |
| Derived & | read_next_http_message_timelimit (std::chrono::steady_clock::duration d) & |
| } More... | |
| Derived && | read_next_http_message_timelimit (std::chrono::steady_clock::duration d) && |
| std::chrono::steady_clock::duration | read_next_http_message_timelimit () const |
| Derived & | write_http_response_timelimit (std::chrono::steady_clock::duration d) & |
| A period of time wait for response to be written to socket. More... | |
| Derived && | write_http_response_timelimit (std::chrono::steady_clock::duration d) && |
| std::chrono::steady_clock::duration | write_http_response_timelimit () const |
| Derived & | handle_request_timeout (std::chrono::steady_clock::duration d) & |
| A period of time that is given for a handler to create response. More... | |
| Derived && | handle_request_timeout (std::chrono::steady_clock::duration d) && |
| std::chrono::steady_clock::duration | handle_request_timeout () const |
| Derived & | max_pipelined_requests (std::size_t mpr) & |
| Max pipelined requests able to receive on single connection. More... | |
| Derived && | max_pipelined_requests (std::size_t mpr) && |
| std::size_t | max_pipelined_requests () const |
| Derived & | acceptor_options_setter (acceptor_options_setter_t aos) & |
| Acceptor options setter. More... | |
| Derived && | acceptor_options_setter (acceptor_options_setter_t aos) && |
| std::unique_ptr< acceptor_options_setter_t > | acceptor_options_setter () |
| Derived & | socket_options_setter (socket_options_setter_t sos) & |
| Socket options setter. More... | |
| Derived && | socket_options_setter (socket_options_setter_t sos) && |
| std::unique_ptr< socket_options_setter_t > | socket_options_setter () |
| Derived & | concurrent_accepts_count (std::size_t n) & |
| Max number of running concurrent accepts. More... | |
| Derived && | concurrent_accepts_count (std::size_t n) && |
| std::size_t | concurrent_accepts_count () const |
| Derived & | separate_accept_and_create_connect (bool do_separate) & |
| Do separate an accept operation and connection instantiation. More... | |
| Derived && | separate_accept_and_create_connect (bool do_separate) && |
| bool | separate_accept_and_create_connect () const |
| template<typename Func > | |
| Derived & | cleanup_func (Func &&func) & |
| Cleanup function. More... | |
| template<typename Func > | |
| Derived && | cleanup_func (Func &&func) && |
| cleanup_functor_t | giveaway_cleanup_func () |
Public Member Functions inherited from restinio::socket_type_dependent_settings_t< Derived, Traits::stream_socket_t > | |
| socket_type_dependent_settings_t ()=default | |
| socket_type_dependent_settings_t (const socket_type_dependent_settings_t &)=default | |
| socket_type_dependent_settings_t (socket_type_dependent_settings_t &&)=default | |
| socket_type_dependent_settings_t & | operator= (const socket_type_dependent_settings_t &)=default |
| socket_type_dependent_settings_t & | operator= (socket_type_dependent_settings_t &&)=delete |
Private Types | |
| using | base_type_t = socket_type_dependent_settings_t< Derived, typename Traits::stream_socket_t > |
Private Member Functions | |
| Derived & | reference_to_derived () |
| template<typename Target , typename... Params> | |
| Derived & | set_unique_instance (std::unique_ptr< Target > &t, Params &&... params) |
| template<typename Target , typename... Params> | |
| Derived & | set_shared_instance (std::shared_ptr< Target > &t, Params &&... params) |
Private Attributes | |
| std::size_t | m_buffer_size { 4 * 1024 } |
| Size of buffer for io operations. More... | |
| std::size_t | m_max_pipelined_requests { 1 } |
| Max pipelined requests to receive on single connection. More... | |
| std::unique_ptr< request_handler_t > | m_request_handler |
| Request handler. More... | |
| std::unique_ptr< timer_factory_t > | m_timer_factory |
| Timers factory. More... | |
| std::unique_ptr< logger_t > | m_logger |
| Logger. More... | |
| std::unique_ptr< acceptor_options_setter_t > | m_acceptor_options_setter |
| Acceptor options setter. More... | |
| std::unique_ptr< socket_options_setter_t > | m_socket_options_setter |
| Socket options setter. More... | |
| std::size_t | m_concurrent_accepts_count { 1 } |
| bool | m_separate_accept_and_create_connect { false } |
| Do separate an accept operation and connection instantiation. More... | |
| cleanup_functor_t | m_cleanup_functor |
| Optional cleanup functor. More... | |
| std::uint16_t | m_port |
| Server endpoint. More... | |
| asio_ns::ip::tcp | m_protocol |
| std::string | m_address |
| std::chrono::steady_clock::duration | m_read_next_http_message_timelimit { std::chrono::seconds( 60 ) } |
| Operations timeouts. More... | |
| 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 ) } |
Static Private Attributes | |
| static constexpr bool | has_actual_connection_state_listener |
| static constexpr bool | has_actual_ip_blocker |
| using | request_handler_t = typename Traits::request_handler_t |
| Request handler. More... | |
| Derived & | request_handler (std::unique_ptr< request_handler_t > handler) & |
| template<typename... Params> | |
| Derived & | request_handler (Params &&... params) & |
| template<typename... Params> | |
| Derived && | request_handler (Params &&... params) && |
| std::unique_ptr< request_handler_t > | request_handler () |
| using | timer_manager_t = typename Traits::timer_manager_t |
| Timers manager. More... | |
| using | timer_factory_t = typename timer_manager_t::factory_t |
| template<typename... Params> | |
| Derived & | timer_manager (Params &&... params) & |
| template<typename... Params> | |
| Derived && | timer_manager (Params &&... params) && |
| std::unique_ptr< timer_factory_t > | timer_factory () |
| using | logger_t = typename Traits::logger_t |
| Logger. More... | |
| template<typename... Params> | |
| Derived & | logger (Params &&... params) & |
| template<typename... Params> | |
| Derived && | logger (Params &&... params) && |
| std::unique_ptr< logger_t > | logger () |
Basic container for http_server settings.
It exists to provide ablity to create various derived classes like server_settings_t, run_on_this_thread_settings_t, run_on_this_thread_settings_t and so on.
| Derived | A drived type. Reference to this derived type will be returned by setters. |
| Traits | A type with traits for http_server. |
Definition at line 442 of file settings.hpp.
|
private |
Definition at line 449 of file settings.hpp.
| using restinio::basic_server_settings_t< Derived, Traits >::logger_t = typename Traits::logger_t |
Logger.
Definition at line 719 of file settings.hpp.
| using restinio::basic_server_settings_t< Derived, Traits >::request_handler_t = typename Traits::request_handler_t |
Request handler.
Definition at line 651 of file settings.hpp.
| using restinio::basic_server_settings_t< Derived, Traits >::timer_factory_t = typename timer_manager_t::factory_t |
Definition at line 690 of file settings.hpp.
| using restinio::basic_server_settings_t< Derived, Traits >::timer_manager_t = typename Traits::timer_manager_t |
Timers manager.
Definition at line 689 of file settings.hpp.
|
inline |
Definition at line 461 of file settings.hpp.
|
inline |
Acceptor options setter.
Definition at line 749 of file settings.hpp.
|
inline |
Definition at line 760 of file settings.hpp.
|
inline |
Definition at line 766 of file settings.hpp.
|
inline |
Definition at line 510 of file settings.hpp.
|
inline |
Definition at line 517 of file settings.hpp.
|
inline |
Definition at line 523 of file settings.hpp.
|
inline |
Size of buffer for io operations.
It limits a size of chunk that can be read from socket in a single read operattion (async read).{
Definition at line 536 of file settings.hpp.
|
inline |
Definition at line 543 of file settings.hpp.
|
inline |
Definition at line 549 of file settings.hpp.
|
inline |
Cleanup function.
Definition at line 868 of file settings.hpp.
|
inline |
Definition at line 876 of file settings.hpp.
|
inline |
Max number of running concurrent accepts.
When running server on N threads then up to N accepts can be handled concurrently.
Definition at line 809 of file settings.hpp.
|
inline |
Definition at line 822 of file settings.hpp.
|
inline |
Definition at line 828 of file settings.hpp.
|
inline |
Setter for connection state listener.
Definition at line 919 of file settings.hpp.
|
inline |
Setter for connection state listener.
Definition at line 963 of file settings.hpp.
|
inlinenoexcept |
Get reference to connection state listener.
Definition at line 979 of file settings.hpp.
|
inline |
Internal method for checking presence of state listener object.
If a user specifies custom state listener type but doesn't set a pointer to listener object that method throws an exception.
Definition at line 999 of file settings.hpp.
|
inline |
Internal method for checking presence of IP-blocker object.
If a user specifies custom IP-blocker type but doesn't set a pointer to blocker object that method throws an exception.
Definition at line 1115 of file settings.hpp.
|
inline |
Definition at line 882 of file settings.hpp.
|
inline |
A period of time that is given for a handler to create response.
Definition at line 607 of file settings.hpp.
|
inline |
Definition at line 614 of file settings.hpp.
|
inline |
Definition at line 620 of file settings.hpp.
|
inline |
Setter for IP-blocker.
Definition at line 1036 of file settings.hpp.
|
inline |
Setter for IP-blocker.
Definition at line 1081 of file settings.hpp.
|
inlinenoexcept |
Get reference to IP-blocker.
Definition at line 1096 of file settings.hpp.
|
inline |
Definition at line 723 of file settings.hpp.
|
inline |
Definition at line 732 of file settings.hpp.
|
inline |
Definition at line 738 of file settings.hpp.
|
inline |
Max pipelined requests able to receive on single connection.
Definition at line 629 of file settings.hpp.
|
inline |
Definition at line 636 of file settings.hpp.
|
inline |
Definition at line 642 of file settings.hpp.
|
inline |
Server endpoint.
Definition at line 472 of file settings.hpp.
|
inline |
Definition at line 479 of file settings.hpp.
|
inline |
Definition at line 485 of file settings.hpp.
|
inline |
Definition at line 491 of file settings.hpp.
|
inline |
Definition at line 498 of file settings.hpp.
|
inline |
Definition at line 504 of file settings.hpp.
|
inline |
}
A period for holding connection before completely receiving new http-request. Starts counting since connection is establised or a previous request was responsed.
Generaly it defines timeout for keep-alive connections.
Definition at line 563 of file settings.hpp.
|
inline |
Definition at line 570 of file settings.hpp.
|
inline |
Definition at line 576 of file settings.hpp.
|
inlineprivate |
Definition at line 1122 of file settings.hpp.
|
inline |
Definition at line 654 of file settings.hpp.
|
inline |
Definition at line 662 of file settings.hpp.
|
inline |
Definition at line 672 of file settings.hpp.
|
inline |
Definition at line 678 of file settings.hpp.
|
inline |
Do separate an accept operation and connection instantiation.
For the cases when a lot of connection can be fired by clients in a short time interval, it is vital to accept connections and initiate new accept operations as quick as possible. So creating connection instance that involves allocations and initialization can be done in a context that is independent to acceptors one.
Definition at line 845 of file settings.hpp.
|
inline |
Definition at line 852 of file settings.hpp.
|
inline |
Definition at line 858 of file settings.hpp.
|
inlineprivate |
Definition at line 1140 of file settings.hpp.
|
inlineprivate |
Definition at line 1129 of file settings.hpp.
|
inline |
Socket options setter.
Definition at line 777 of file settings.hpp.
|
inline |
Definition at line 788 of file settings.hpp.
|
inline |
Definition at line 794 of file settings.hpp.
|
inline |
Definition at line 709 of file settings.hpp.
|
inline |
Definition at line 694 of file settings.hpp.
|
inline |
Definition at line 703 of file settings.hpp.
|
inline |
A period of time wait for response to be written to socket.
Definition at line 585 of file settings.hpp.
|
inline |
Definition at line 592 of file settings.hpp.
|
inline |
Definition at line 598 of file settings.hpp.
|
staticprivate |
Definition at line 451 of file settings.hpp.
|
staticprivate |
Definition at line 456 of file settings.hpp.
|
private |
Acceptor options setter.
Definition at line 1184 of file settings.hpp.
|
private |
Definition at line 1153 of file settings.hpp.
|
private |
Size of buffer for io operations.
Definition at line 1157 of file settings.hpp.
|
private |
Optional cleanup functor.
Definition at line 1195 of file settings.hpp.
|
private |
Definition at line 1189 of file settings.hpp.
|
private |
Definition at line 1168 of file settings.hpp.
|
private |
Logger.
Definition at line 1181 of file settings.hpp.
|
private |
Max pipelined requests to receive on single connection.
Definition at line 1172 of file settings.hpp.
|
private |
Server endpoint.
Definition at line 1151 of file settings.hpp.
|
private |
Definition at line 1152 of file settings.hpp.
|
private |
Operations timeouts.
Definition at line 1162 of file settings.hpp.
|
private |
Request handler.
Definition at line 1175 of file settings.hpp.
|
private |
Do separate an accept operation and connection instantiation.
Definition at line 1192 of file settings.hpp.
|
private |
Socket options setter.
Definition at line 1187 of file settings.hpp.
|
private |
Timers factory.
Definition at line 1178 of file settings.hpp.
|
private |
Definition at line 1165 of file settings.hpp.
1.8.14