summaryrefslogtreecommitdiff
path: root/server/include/server_session.h
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-09 08:16:50 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-09 08:16:50 +0300
commit704bf55df5fae51bf0e8d86679ee7f34e22553d2 (patch)
tree68385079dec7204d8c646d4937e93d68cd4cbd42 /server/include/server_session.h
parent5a4cbe950cd653385fc6e93aa860542b01bdf1bc (diff)
client-qt:
socket wraper to work with both ssl and plain connection server: socket wraper to work with both ssl and plain connection bit of config related changes ssl support (untested)
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_;
};