RESTinio
traits.hpp
Go to the documentation of this file.
1 /*
2  restinio
3 */
4 
9 #pragma once
10 
13 #include <restinio/null_logger.hpp>
15 #include <restinio/ip_blocker.hpp>
18 
19 namespace restinio
20 {
21 
22 //
23 // traits_t
24 //
25 
26 template <
27  typename Timer_Manager,
28  typename Logger,
29  typename Request_Handler = default_request_handler_t,
30  typename Strand = default_strand_t,
31  typename Socket = asio_ns::ip::tcp::socket >
32 struct traits_t
33 {
70 
100 
134 
135  using timer_manager_t = Timer_Manager;
136  using logger_t = Logger;
137  using request_handler_t = Request_Handler;
138  using strand_t = Strand;
139  using stream_socket_t = Socket;
140 
164  static constexpr bool use_connection_count_limiter = false;
165 };
166 
167 //
168 // single_thread_traits_t
169 //
170 
171 template <
172  typename Timer_Manager,
173  typename Logger,
174  typename Request_Handler = default_request_handler_t >
177 
178 //
179 // default_traits_t
180 //
181 
183 
201  null_logger_t >;
202 
203 } /* namespace restinio */
204 
request_handler.hpp
connection_state_listener.hpp
Stuff related to connection state listeners.
restinio::traits_t::stream_socket_t
Socket stream_socket_t
Definition: traits.hpp:139
restinio::traits_t::request_handler_t
Request_Handler request_handler_t
Definition: traits.hpp:137
restinio::null_logger_t
No operation logger.
Definition: null_logger.hpp:23
restinio::traits_t::use_connection_count_limiter
static constexpr bool use_connection_count_limiter
A flag that enables or disables the usage of connection count limiter.
Definition: traits.hpp:164
restinio::traits_t
Definition: traits.hpp:33
connection_count_limiter.hpp
Stuff related to limits of active parallel connections.
restinio::traits_t::strand_t
Strand strand_t
Definition: traits.hpp:138
restinio::traits_t::timer_manager_t
Timer_Manager timer_manager_t
Definition: traits.hpp:135
restinio::traits_t::logger_t
Logger logger_t
Definition: traits.hpp:136
restinio::asio_timer_manager_t
Timer factory implementation using asio timers.
Definition: asio_timer_manager.hpp:31
null_logger.hpp
restinio
Definition: asio_include.hpp:21
restinio::default_request_handler_t
std::function< request_handling_status_t(request_handle_t) > default_request_handler_t
Definition: request_handler.hpp:189
default_strands.hpp
Typedefs for default strands.
restinio::ip_blocker::noop_ip_blocker_t
The default no-op IP-blocker.
Definition: ip_blocker.hpp:94
restinio::default_strand_t
asio_ns::strand< default_asio_executor > default_strand_t
A typedef for the default strand type.
Definition: default_strands.hpp:23
restinio::connection_state::noop_listener_t
The default no-op state listener.
Definition: connection_state_listener.hpp:274
restinio::default_http_methods_t
The default implementation for http_method_mapper.
Definition: http_headers.hpp:1832
ip_blocker.hpp
Stuff related to IP blockers.
asio_timer_manager.hpp