diff options
Diffstat (limited to 'server/include/server_session.h')
-rw-r--r-- | server/include/server_session.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/server/include/server_session.h b/server/include/server_session.h index 0f7fe62..330e0a9 100644 --- a/server/include/server_session.h +++ b/server/include/server_session.h @@ -23,28 +23,32 @@ #define SERVER_SESSION_H #include <boost/asio.hpp> +#include <boost/asio/ssl.hpp> class client_msg; class server_msg; - +class socket_wraper; class server_session { public: - server_session(boost::asio::io_service &s); + server_session(boost::asio::io_service &s, boost::asio::ssl::context *c = nullptr); void run(); void send_message(server_msg *msg); - boost::asio::ip::tcp::socket& socket(); + socket_wraper* socket(); virtual ~server_session(); protected: private: void handle_read(const boost::system::error_code& error, size_t bytes_transferred); void handle_write(const boost::system::error_code& error); void handle_write_no_read(const boost::system::error_code& error); + void handle_handshake(const boost::system::error_code& error); void handle_command(client_msg *msg); char *recv_data_; - boost::asio::ip::tcp::socket socket_; + socket_wraper *socket_; + boost::asio::io_service &io_service_; + boost::asio::ssl::context *context_; }; |