13 #include <restinio/sendfile.hpp> 47 template <
typename Socket >
55 const sendfile_t & sf,
56 asio_ns::executor executor,
58 after_sendfile_cb_t after_sendfile_cb )
86 template<
typename Error_Type>
90 return asio_ns::error_code{
static_cast<
int>(e), asio_ns::error::get_system_category() };
101 #if defined( _MSC_VER
) || defined( __MINGW32__ ) 102 #include "sendfile_operation_win.ipp" 103 #elif (defined( __clang__ ) || defined( __GNUC__ )) && !defined(__WIN32__) 104 #include "sendfile_operation_posix.ipp" 106 #if defined (RESTINIO_ENABLE_SENDFILE_DEFAULT_IMPL) 107 #include "sendfile_operation_default.ipp" 109 #error "Sendfile not supported, to enable default implementation define RESTINIO_ENABLE_SENDFILE_DEFAULT_IMPL macro" file_offset_t m_next_write_offset
file_size_t m_remained_size
sendfile_operation_runner_base_t()=delete
auto expires_after() const noexcept
after_sendfile_cb_t m_after_sendfile_cb
virtual ~sendfile_operation_base_t()=default
const std::chrono::steady_clock::time_point m_expires_after
Base class for storing sendfile operation context.
A base runner of sendfile operation (keeps all the data).
asio_ns::executor m_executor
file_descriptor_t m_file_descriptor
file_size_t m_transfered_size
const file_size_t m_chunk_size
auto make_error_code(const Error_Type &e)
sendfile_operation_runner_base_t(const sendfile_t &sf, asio_ns::executor executor, Socket &socket, after_sendfile_cb_t after_sendfile_cb)
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, optional_t< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in optional_t<Value_Type> if parameter exists ...