8#include <FMEThirdPartyWarningsDisable.h>
9#include <boost/asio/ssl.hpp>
12#include <FMEThirdPartyWarningsRestore.h>
18 using TlsStream = boost::asio::ssl::stream<boost::asio::ip::tcp::socket&>;
49 TlsSocket(std::shared_ptr<Context> io_context, std::shared_ptr<TlsContext> tls_context);
67 std::shared_ptr<TlsContext> tls_context;
71 bool handshake_complete;
73 mutable std::mutex mutex;
#define ASYNCHRONOUSIO_EXPORT
std::function< void(const ErrorCode &, const std::size_t)> CompletionHandler
A TCP socket class implementing the asio::Socket interface.
A TCP socket class with TLS support implementing the asio::Socket interface.
void async_write(const void *buffer, const std::size_t buffer_size, const CompletionHandler &handler) override
void async_handshake(TlsStream::handshake_type handshake_type, const HandshakeCompletionHandler &handler)
void async_read(void *buffer, const std::size_t buffer_size, const CompletionHandler &handler) override
std::function< void(const ErrorCode &)> HandshakeCompletionHandler
bool is_valid() const override
TlsSocket(std::shared_ptr< Context > io_context, std::shared_ptr< TlsContext > tls_context)
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
boost::system::error_code ErrorCode
boost::asio::ssl::context TlsContext
boost::asio::ssl::stream< boost::asio::ip::tcp::socket & > TlsStream