#ifndef __SSL_SERVER_H__ #define __SSL_SERVER_H__ #include "ssl_process.h" #include #include #include #include #include #include #include #include #include #include struct Acceptor { int _master; SSL_CTX* _ctx; Acceptor(int iMasterHd, SSL_CTX* iCtx) : _master(iMasterHd) , _ctx(iCtx) { } void operator()(); int openTCPSocket(); SSL* openSSLSession(int); }; class Server : public SSLProcess { // Private data private: int _master; void startListen(); void doServerSSLInit(); boost::thread* _sender; boost::thread* _reciver; boost::thread* _reactor; public: // Constructors Server(); ~Server(); void init(); void start(); void waitForStop(); }; #endif