11 #include <restinio/asio_include.hpp> 13 #if !defined(RESTINIO_USE_BOOST_ASIO) 14 #include <asio/ssl.hpp> 16 #include <boost/asio/ssl.hpp> 42 #if RESTINIO_ASIO_VERSION >= 101600
49 asio_ns::io_context & io_context,
50 context_handle_t tls_context )
61 std::swap( m_context, sock.m_context );
62 std::swap( m_socket, sock.m_socket );
68 return m_socket->lowest_layer();
74 return m_socket->lowest_layer();
110 return this->lowest_layer().get_executor();
116 return this->lowest_layer().remote_endpoint();
122 return this->lowest_layer().is_open();
125 template<
typename... Args >
132 template<
typename... Args >
136 return m_socket->async_read_some( std::forward< Args >( args )... );
139 template<
typename... Args >
143 return m_socket->async_write_some( std::forward< Args >( args )... );
146 template<
typename... Args >
153 template<
typename... Args >
160 template<
typename... Args >
164 return m_socket->async_handshake( std::forward< Args >( args )... );
void cancel(Args &&... args)
const socket_t & asio_ssl_stream() const
Get an access to underlying Asio's socket.
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
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, std::optional< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in std::optional<Value_Type> if parameter exis...
tls_socket_t(const tls_socket_t &)=delete
socket_t & asio_ssl_stream()
Get an access to underlying Asio's socket.
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)