174 template< std::
size_t >
189 return handler( req );
192 store_to< Index + 1u >( std::forward<Tail>(tail)... );
211 template<
typename... Handlers >
214 static_assert( Size ==
sizeof...(handlers),
215 "Wrong number of parameters for the constructor of "
216 "fixed_size_chain_t<Size>. Exact `Size` parameters expected" );
218 store_to< 0u >( std::forward<Handlers>(handlers)... );
A holder of fixed-size chain of synchronous handlers.
void store_to(Head &&head, Tail &&...tail)
std::array< handler_holder_t, Size > m_handlers
fixed_size_chain_t()=delete
RESTINIO_NODISCARD request_handling_status_t operator()(const actual_request_handle_t &req) const
fixed_size_chain_t(Handlers &&...handlers)
Initializing constructor.
std::function< request_handling_status_t(const actual_request_handle_t &) > handler_holder_t
generic_request_handle_t< typename Extra_Data_Factory::data_t > actual_request_handle_t
#define RESTINIO_NODISCARD
RESTINIO_NODISCARD constexpr request_handling_status_t request_not_handled() noexcept
std::shared_ptr< generic_request_t< Extra_Data > > generic_request_handle_t
An alias for shared-pointer to incoming request.
request_handling_status_t
Request handling status.
@ accepted
Request accepted for handling.
@ not_handled
The request wasn't handled. If there is another handler to be tried it should be tried....
@ rejected
Request wasn't accepted for handling.