5 #ifndef SRC_IO_SSL_SERVER_H_
6 #define SRC_IO_SSL_SERVER_H_
8 #include <boost/asio/ssl.hpp>
16 typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket>
SslSocket;
19 bool ssl_enabled =
true,
20 bool ssl_handshake_delayed =
false);
28 boost::asio::ssl::context *
context();
35 const boost::system::error_code& error);
38 const boost::system::error_code& error);
62 #endif // SRC_IO_SSL_SERVER_H_
TcpSession * AllocSession(Socket *socket)
virtual SslSession * AllocSession(SslSocket *socket)=0
boost::asio::ip::tcp::socket Socket
boost::asio::ssl::context * context()
std::unique_ptr< SslSocket > so_ssl_accept_
boost::intrusive_ptr< HttpClientSession > TcpSessionPtr
boost::intrusive_ptr< TcpServer > TcpServerPtr
boost::asio::ssl::stream< boost::asio::ip::tcp::socket > SslSocket
boost::asio::ssl::context context_
void ConnectHandlerComplete(TcpSessionPtr session)
static void AcceptHandShakeHandler(TcpServerPtr server, TcpSessionPtr session, const boost::system::error_code &error)
bool ssl_handshake_delayed_
static void ConnectHandShakeHandler(TcpServerPtr server, TcpSessionPtr session, const boost::system::error_code &error)
virtual void AcceptHandlerComplete(TcpSessionPtr session)
SslServer(EventManager *evm, boost::asio::ssl::context::method m, bool ssl_enabled=true, bool ssl_handshake_delayed=false)
virtual Socket * socket() const
boost::intrusive_ptr< TcpSession > TcpSessionPtr
DISALLOW_COPY_AND_ASSIGN(SslServer)
Socket * accept_socket() const