9 #include <restinio/asio_include.hpp> 11 #if !defined(RESTINIO_USE_BOOST_ASIO) 12 #include <asio/ssl.hpp> 14 #include <boost/asio/ssl.hpp> 43 asio_ns::io_context & io_context,
44 context_handle_t tls_context )
55 std::swap( m_context, sock.m_context );
56 std::swap( m_socket, sock.m_socket );
62 return m_socket->lowest_layer();
68 return m_socket->lowest_layer();
74 return this->lowest_layer().get_executor();
80 return this->lowest_layer().remote_endpoint();
86 return this->lowest_layer().is_open();
89 template<
typename... Args >
96 template<
typename... Args >
100 return m_socket->async_read_some( std::forward< Args >( args )... );
103 template<
typename... Args >
107 return m_socket->async_write_some( std::forward< Args >( args )... );
110 template<
typename... Args >
117 template<
typename... Args >
124 template<
typename... Args >
128 return m_socket->async_handshake( std::forward< Args >( args )... );
134 return m_socket->get_io_context();
void cancel(Args &&... args)
auto async_write_some(Args &&... args)
void swap(tls_socket_t &sock)
tls_socket_t(asio_ns::io_context &io_context, context_handle_t tls_context)
std::unique_ptr< socket_t > m_socket
tls_socket_t & operator=(const tls_socket_t &)=delete
tls_socket_t(const tls_socket_t &)=delete
const auto & lowest_layer() const
auto remote_endpoint() const
auto async_handshake(Args &&... args)
context_handle_t m_context
void shutdown(Args &&... args)
tls_socket_t & operator=(tls_socket_t &&)=default
Socket adapter for asio::ssl::stream< asio::ip::tcp::socket >.
auto async_read_some(Args &&... args)
tls_socket_t(tls_socket_t &&)=default
void close(Args &&... args)
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 ...