5 #ifndef SRC_IO_SSL_SESSION_H_
6 #define SRC_IO_SSL_SESSION_H_
18 typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket>
SslSocket;
22 bool async_read_ready =
true);
39 tbb::mutex::scoped_lock lock(
mutex_);
48 tbb::mutex::scoped_lock lock(
mutex_);
53 tbb::mutex::scoped_lock lock(
mutex_);
68 size_t ReadSome(boost::asio::mutable_buffer buffer,
69 boost::system::error_code *error);
70 void AsyncWrite(
const uint8_t *data, std::size_t size);
81 tbb::mutex::scoped_lock lock(
mutex_);
86 tbb::mutex::scoped_lock lock(
mutex_);
109 #endif // SRC_IO_SSL_SESSION_H_
SslSession(SslServer *server, SslSocket *socket, bool async_read_ready=true)
bool IsSslHandShakeDelayed()
boost::intrusive_ptr< SslSession > SslSessionPtr
virtual Task * CreateReaderTask(boost::asio::mutable_buffer, size_t)
size_t ReadSome(boost::asio::mutable_buffer buffer, boost::system::error_code *error)
bool IsSslHandShakeSuccessLocked()
size_t ssl_last_read_len_
boost::asio::ssl::stream< boost::asio::ip::tcp::socket > SslSocket
boost::scoped_ptr< SslSocket > ssl_socket_
bool ssl_handshake_in_progress_
boost::asio::ip::tcp::socket Socket
bool ssl_handshake_success_
bool ssl_handshake_delayed_
virtual size_t GetReadBufferSize() const
static bool IsSocketErrorHard(const boost::system::error_code &ec)
bool IsSslHandShakeInProgress()
void TriggerSslHandShake(SslHandShakeCallbackHandler)
void SetSslHandShakeFailure()
virtual void AsyncReadSome()
DISALLOW_COPY_AND_ASSIGN(SslSession)
static void TriggerSslHandShakeInternal(SslSessionPtr ptr, SslHandShakeCallbackHandler cb)
void AsyncWrite(const uint8_t *data, std::size_t size)
static void SslHandShakeCallback(SslHandShakeCallbackHandler cb, SslSessionPtr, const boost::system::error_code &error)
void SetSslHandShakeInProgress(bool state)
void SetSslHandShakeSuccess()
Task is a wrapper over tbb::task to support policies.
boost::function< void(SslSessionPtr, const boost::system::error_code &error)> SslHandShakeCallbackHandler
virtual Socket * socket() const
bool IsSslHandShakeSuccess()