diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-12-16 20:02:20 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-12-16 20:02:20 +0100 |
commit | 5f00ac4b2bf2d47ea24a93c362737fe904456d2e (patch) | |
tree | 0a29fa4d21b6227861136fb5a23c12a80cab1fc4 /src/server/shared | |
parent | 1ce6d5621cf5b55b32d8309178202c49f09e430c (diff) |
Core/Misc: Minor refactors in BaseEncoding and SslSocket to prepare for future bnetserver changes
Diffstat (limited to 'src/server/shared')
-rw-r--r-- | src/server/shared/Networking/SslSocket.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/server/shared/Networking/SslSocket.h b/src/server/shared/Networking/SslSocket.h index 3ab76d235dd..e00b1b6b65e 100644 --- a/src/server/shared/Networking/SslSocket.h +++ b/src/server/shared/Networking/SslSocket.h @@ -24,11 +24,11 @@ namespace boostssl = boost::asio::ssl; -template<class SslContext> +template<class SslContext, class Stream = boostssl::stream<boost::asio::ip::tcp::socket>> class SslSocket { public: - explicit SslSocket(boost::asio::ip::tcp::socket&& socket) : _socket(std::move(socket)), _sslSocket(_socket, SslContext::instance()) + explicit SslSocket(boost::asio::ip::tcp::socket&& socket) : _sslSocket(std::move(socket), SslContext::instance()) { _sslSocket.set_verify_mode(boostssl::verify_none); } @@ -36,13 +36,13 @@ public: // adapting tcp::socket api void close(boost::system::error_code& error) { - _socket.close(error); + _sslSocket.lowest_layer().close(error); } void shutdown(boost::asio::socket_base::shutdown_type what, boost::system::error_code& shutdownError) { _sslSocket.shutdown(shutdownError); - _socket.shutdown(what, shutdownError); + _sslSocket.lowest_layer().shutdown(what, shutdownError); } template<typename MutableBufferSequence, typename ReadHandlerType> @@ -66,12 +66,12 @@ public: template<typename SettableSocketOption> void set_option(SettableSocketOption const& option, boost::system::error_code& error) { - _socket.set_option(option, error); + _sslSocket.lowest_layer().set_option(option, error); } boost::asio::ip::tcp::socket::endpoint_type remote_endpoint() const { - return _socket.remote_endpoint(); + return _sslSocket.lowest_layer().remote_endpoint(); } // ssl api @@ -81,9 +81,8 @@ public: _sslSocket.async_handshake(type, std::move(handler)); } -private: - boost::asio::ip::tcp::socket _socket; - boostssl::stream<boost::asio::ip::tcp::socket&> _sslSocket; +protected: + Stream _sslSocket; }; #endif // SslSocket_h__ |