summaryrefslogtreecommitdiff
path: root/server/include/server_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/include/server_session.h')
-rw-r--r--server/include/server_session.h12
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_;
};