Loading src/PlainSession.cpp +46 −28 Original line number Diff line number Diff line Loading @@ -63,52 +63,52 @@ void PlainSession::start() INFO_STREAM << "PlainSession::start() connection from " << m_plainSocket.remote_endpoint() << endl; startReadHeader(); startReadRequestHeader(); } //============================================================================== // PlainSession::startReadHeader() // PlainSession::startReadRequestHeader() //============================================================================== void PlainSession::startReadHeader() void PlainSession::startReadRequestHeader() { DEBUG_STREAM << "PlainSession::startReadHeader()" << endl; DEBUG_STREAM << "PlainSession::startReadRequestHeader()" << endl; m_readBuff.resize(HEADER_SIZE); boost::asio::async_read(m_plainSocket, boost::asio::buffer(m_readBuff), m_strand.wrap( boost::bind( &PlainSession::handleReadHeader, shared_from_this(), &PlainSession::handleReadRequestHeader, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleReadHeader() // PlainSession::handleReadRequestHeader() //============================================================================== void PlainSession::handleReadHeader(const boost::system::error_code& error) void PlainSession::handleReadRequestHeader(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleReadHeader()" << endl; DEBUG_STREAM << "PlainSession::handleReadRequestHeader()" << endl; if(!error) { boost::uint32_t bodySize = decodeHeader(m_readBuff); DEBUG_STREAM << "PlainSession::handleReadHeader() SIZE: " << bodySize << endl; DEBUG_STREAM << "PlainSession::handleReadRequestHeader() SIZE: " << bodySize << endl; startReadBody(bodySize); startReadRequestBody(bodySize); } else { WARN_STREAM << "PlainSession::handleReadHeader() " << error.message() << endl; WARN_STREAM << "PlainSession::handleReadRequestHeader() " << error.message() << endl; } } //============================================================================== // PlainSession::startReadBody() // PlainSession::startReadRequestBody() //============================================================================== void PlainSession::startReadBody(boost::uint32_t bodySize) void PlainSession::startReadRequestBody(boost::uint32_t bodySize) { DEBUG_STREAM << "PlainSession::startReadBody()" << endl; DEBUG_STREAM << "PlainSession::startReadRequestBody()" << endl; m_readBuff.resize(HEADER_SIZE + bodySize); Loading @@ -118,35 +118,33 @@ void PlainSession::startReadBody(boost::uint32_t bodySize) boost::asio::async_read(m_plainSocket, mutableBuffer, m_strand.wrap( boost::bind( &PlainSession::handleReadBody, shared_from_this(), &PlainSession::handleReadRequestBody, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleReadBody() // PlainSession::handleReadRequestBody() //============================================================================== void PlainSession::handleReadBody(const boost::system::error_code& error) void PlainSession::handleReadRequestBody(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleReadBody()" << endl; DEBUG_STREAM << "PlainSession::handleReadRequestBody()" << endl; if(!error) { handleRequest(); startReadHeader(); startWriteResponse(); } else { WARN_STREAM << "PlainSession::handleReadHeader() " << error.message() << endl; WARN_STREAM << "PlainSession::handleReadRequestBody() " << error.message() << endl; } } //============================================================================== // PlainSession::handleRequest() // PlainSession::startWriteResponse() //============================================================================== void PlainSession::handleRequest() void PlainSession::startWriteResponse() { DEBUG_STREAM << "PlainSession::handleRequest()" << endl; DEBUG_STREAM << "PlainSession::startWriteResponse()" << endl; RequestSP request_sp(new Request); Loading @@ -157,7 +155,7 @@ void PlainSession::handleRequest() //@warning: byteSize return int not unsigned boost::uint32_t bodySize = response_sp->ByteSize(); DEBUG_STREAM << "PlainSession::handleRequest() SIZE: " << bodySize << endl; DEBUG_STREAM << "PlainSession::startWriteResponse() SIZE: " << bodySize << endl; std::vector<boost::uint8_t> writeBuff; writeBuff.resize(HEADER_SIZE + bodySize); Loading @@ -166,8 +164,28 @@ void PlainSession::handleRequest() response_sp->SerializeToArray(&writeBuff[HEADER_SIZE], bodySize); //TODO: strand!!!! FIXME boost::asio::write(m_plainSocket, boost::asio::buffer(writeBuff)); boost::asio::async_write(m_plainSocket, boost::asio::buffer(writeBuff), m_strand.wrap( boost::bind( &PlainSession::handleWriteResponse, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleWriteResponse() //============================================================================== void PlainSession::handleWriteResponse(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleWriteResponse()" << endl; if(!error) { startReadRequestHeader(); } else { WARN_STREAM << "PlainSession::handleWriteResponse() " << error.message() << endl; } } } //namespace No newline at end of file src/PlainSession.h +7 −5 Original line number Diff line number Diff line Loading @@ -44,15 +44,17 @@ protected: //------------------------------------------------------------------------------ // [Protected] Utilities methods //------------------------------------------------------------------------------ virtual void startReadHeader(); virtual void startReadRequestHeader(); virtual void handleReadHeader(const boost::system::error_code&); virtual void handleReadRequestHeader(const boost::system::error_code&); virtual void startReadBody(boost::uint32_t); virtual void startReadRequestBody(boost::uint32_t); virtual void handleReadBody(const boost::system::error_code&); virtual void handleReadRequestBody(const boost::system::error_code&); virtual void handleRequest(); virtual void startWriteResponse(); virtual void handleWriteResponse(const boost::system::error_code&); //------------------------------------------------------------------------------ // [Protected] Class variables Loading src/SSLSession.cpp +23 −15 Original line number Diff line number Diff line Loading @@ -81,43 +81,51 @@ void SSLSession::handleHandShake(const boost::system::error_code& ec) } //============================================================================== // SSLSession::startReadHeader() // SSLSession::startReadRequestHeader() //============================================================================== void SSLSession::startReadHeader() void SSLSession::startReadRequestHeader() { DEBUG_STREAM << "SSLSession::startReadHeader()" << endl; DEBUG_STREAM << "SSLSession::startReadRequestHeader()" << endl; } //============================================================================== // SSLSession::handleReadHeader() // SSLSession::handleReadRequestHeader() //============================================================================== void SSLSession::handleReadHeader(const boost::system::error_code&) void SSLSession::handleReadRequestHeader(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleReadHeader()" << endl; DEBUG_STREAM << "SSLSession::handleReadRequestHeader()" << endl; } //============================================================================== // SSLSession::startReadBody() // SSLSession::startReadRequestBody() //============================================================================== void SSLSession::startReadBody(boost::uint32_t bodySize) void SSLSession::startReadRequestBody(boost::uint32_t bodySize) { DEBUG_STREAM << "SSLSession::startReadBody()" << endl; DEBUG_STREAM << "SSLSession::startReadRequestBody()" << endl; } //============================================================================== // SSLSession::handleReadBody() // SSLSession::handleReadRequestBody() //============================================================================== void SSLSession::handleReadBody(const boost::system::error_code&) void SSLSession::handleReadRequestBody(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleReadBody()" << endl; DEBUG_STREAM << "SSLSession::handleReadRequestBody()" << endl; } //============================================================================== // SSLSession::handleRequest() // SSLSession::startWriteResponse() //============================================================================== void SSLSession::startWriteResponse() { DEBUG_STREAM << "SSLSession::startWriteResponse()" << endl; } //============================================================================== // SSLSession::handleWriteResponse() //============================================================================== void SSLSession::handleRequest() void SSLSession::handleWriteResponse(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleRequest()" << endl; DEBUG_STREAM << "SSLSession::handleWriteResponse()" << endl; } } //namespace src/SSLSession.h +7 −5 Original line number Diff line number Diff line Loading @@ -49,15 +49,17 @@ protected: //------------------------------------------------------------------------------ virtual void handleHandShake(const boost::system::error_code& ec); virtual void startReadHeader(); virtual void startReadRequestHeader(); virtual void handleReadHeader(const boost::system::error_code&); virtual void handleReadRequestHeader(const boost::system::error_code&); virtual void startReadBody(boost::uint32_t); virtual void startReadRequestBody(boost::uint32_t); virtual void handleReadBody(const boost::system::error_code&); virtual void handleReadRequestBody(const boost::system::error_code&); virtual void handleRequest(); virtual void startWriteResponse(); virtual void handleWriteResponse(const boost::system::error_code&); //------------------------------------------------------------------------------ // [Protected] Class variables Loading src/Session.h +7 −5 Original line number Diff line number Diff line Loading @@ -48,15 +48,17 @@ protected: //------------------------------------------------------------------------------ // [Protected] Utilities methods //------------------------------------------------------------------------------ virtual void startReadHeader() = 0; virtual void startReadRequestHeader() = 0; virtual void handleReadHeader(const boost::system::error_code&) = 0; virtual void handleReadRequestHeader(const boost::system::error_code&) = 0; virtual void startReadBody(boost::uint32_t) = 0; virtual void startReadRequestBody(boost::uint32_t) = 0; virtual void handleReadBody(const boost::system::error_code&) = 0; virtual void handleReadRequestBody(const boost::system::error_code&) = 0; virtual void handleRequest() = 0; virtual void startWriteResponse() = 0; virtual void handleWriteResponse(const boost::system::error_code&) = 0; virtual ResponseSP prepareResponse(RequestSP) throw(std::runtime_error); Loading Loading
src/PlainSession.cpp +46 −28 Original line number Diff line number Diff line Loading @@ -63,52 +63,52 @@ void PlainSession::start() INFO_STREAM << "PlainSession::start() connection from " << m_plainSocket.remote_endpoint() << endl; startReadHeader(); startReadRequestHeader(); } //============================================================================== // PlainSession::startReadHeader() // PlainSession::startReadRequestHeader() //============================================================================== void PlainSession::startReadHeader() void PlainSession::startReadRequestHeader() { DEBUG_STREAM << "PlainSession::startReadHeader()" << endl; DEBUG_STREAM << "PlainSession::startReadRequestHeader()" << endl; m_readBuff.resize(HEADER_SIZE); boost::asio::async_read(m_plainSocket, boost::asio::buffer(m_readBuff), m_strand.wrap( boost::bind( &PlainSession::handleReadHeader, shared_from_this(), &PlainSession::handleReadRequestHeader, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleReadHeader() // PlainSession::handleReadRequestHeader() //============================================================================== void PlainSession::handleReadHeader(const boost::system::error_code& error) void PlainSession::handleReadRequestHeader(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleReadHeader()" << endl; DEBUG_STREAM << "PlainSession::handleReadRequestHeader()" << endl; if(!error) { boost::uint32_t bodySize = decodeHeader(m_readBuff); DEBUG_STREAM << "PlainSession::handleReadHeader() SIZE: " << bodySize << endl; DEBUG_STREAM << "PlainSession::handleReadRequestHeader() SIZE: " << bodySize << endl; startReadBody(bodySize); startReadRequestBody(bodySize); } else { WARN_STREAM << "PlainSession::handleReadHeader() " << error.message() << endl; WARN_STREAM << "PlainSession::handleReadRequestHeader() " << error.message() << endl; } } //============================================================================== // PlainSession::startReadBody() // PlainSession::startReadRequestBody() //============================================================================== void PlainSession::startReadBody(boost::uint32_t bodySize) void PlainSession::startReadRequestBody(boost::uint32_t bodySize) { DEBUG_STREAM << "PlainSession::startReadBody()" << endl; DEBUG_STREAM << "PlainSession::startReadRequestBody()" << endl; m_readBuff.resize(HEADER_SIZE + bodySize); Loading @@ -118,35 +118,33 @@ void PlainSession::startReadBody(boost::uint32_t bodySize) boost::asio::async_read(m_plainSocket, mutableBuffer, m_strand.wrap( boost::bind( &PlainSession::handleReadBody, shared_from_this(), &PlainSession::handleReadRequestBody, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleReadBody() // PlainSession::handleReadRequestBody() //============================================================================== void PlainSession::handleReadBody(const boost::system::error_code& error) void PlainSession::handleReadRequestBody(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleReadBody()" << endl; DEBUG_STREAM << "PlainSession::handleReadRequestBody()" << endl; if(!error) { handleRequest(); startReadHeader(); startWriteResponse(); } else { WARN_STREAM << "PlainSession::handleReadHeader() " << error.message() << endl; WARN_STREAM << "PlainSession::handleReadRequestBody() " << error.message() << endl; } } //============================================================================== // PlainSession::handleRequest() // PlainSession::startWriteResponse() //============================================================================== void PlainSession::handleRequest() void PlainSession::startWriteResponse() { DEBUG_STREAM << "PlainSession::handleRequest()" << endl; DEBUG_STREAM << "PlainSession::startWriteResponse()" << endl; RequestSP request_sp(new Request); Loading @@ -157,7 +155,7 @@ void PlainSession::handleRequest() //@warning: byteSize return int not unsigned boost::uint32_t bodySize = response_sp->ByteSize(); DEBUG_STREAM << "PlainSession::handleRequest() SIZE: " << bodySize << endl; DEBUG_STREAM << "PlainSession::startWriteResponse() SIZE: " << bodySize << endl; std::vector<boost::uint8_t> writeBuff; writeBuff.resize(HEADER_SIZE + bodySize); Loading @@ -166,8 +164,28 @@ void PlainSession::handleRequest() response_sp->SerializeToArray(&writeBuff[HEADER_SIZE], bodySize); //TODO: strand!!!! FIXME boost::asio::write(m_plainSocket, boost::asio::buffer(writeBuff)); boost::asio::async_write(m_plainSocket, boost::asio::buffer(writeBuff), m_strand.wrap( boost::bind( &PlainSession::handleWriteResponse, shared_from_this(), boost::asio::placeholders::error))); } //============================================================================== // PlainSession::handleWriteResponse() //============================================================================== void PlainSession::handleWriteResponse(const boost::system::error_code& error) { DEBUG_STREAM << "PlainSession::handleWriteResponse()" << endl; if(!error) { startReadRequestHeader(); } else { WARN_STREAM << "PlainSession::handleWriteResponse() " << error.message() << endl; } } } //namespace No newline at end of file
src/PlainSession.h +7 −5 Original line number Diff line number Diff line Loading @@ -44,15 +44,17 @@ protected: //------------------------------------------------------------------------------ // [Protected] Utilities methods //------------------------------------------------------------------------------ virtual void startReadHeader(); virtual void startReadRequestHeader(); virtual void handleReadHeader(const boost::system::error_code&); virtual void handleReadRequestHeader(const boost::system::error_code&); virtual void startReadBody(boost::uint32_t); virtual void startReadRequestBody(boost::uint32_t); virtual void handleReadBody(const boost::system::error_code&); virtual void handleReadRequestBody(const boost::system::error_code&); virtual void handleRequest(); virtual void startWriteResponse(); virtual void handleWriteResponse(const boost::system::error_code&); //------------------------------------------------------------------------------ // [Protected] Class variables Loading
src/SSLSession.cpp +23 −15 Original line number Diff line number Diff line Loading @@ -81,43 +81,51 @@ void SSLSession::handleHandShake(const boost::system::error_code& ec) } //============================================================================== // SSLSession::startReadHeader() // SSLSession::startReadRequestHeader() //============================================================================== void SSLSession::startReadHeader() void SSLSession::startReadRequestHeader() { DEBUG_STREAM << "SSLSession::startReadHeader()" << endl; DEBUG_STREAM << "SSLSession::startReadRequestHeader()" << endl; } //============================================================================== // SSLSession::handleReadHeader() // SSLSession::handleReadRequestHeader() //============================================================================== void SSLSession::handleReadHeader(const boost::system::error_code&) void SSLSession::handleReadRequestHeader(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleReadHeader()" << endl; DEBUG_STREAM << "SSLSession::handleReadRequestHeader()" << endl; } //============================================================================== // SSLSession::startReadBody() // SSLSession::startReadRequestBody() //============================================================================== void SSLSession::startReadBody(boost::uint32_t bodySize) void SSLSession::startReadRequestBody(boost::uint32_t bodySize) { DEBUG_STREAM << "SSLSession::startReadBody()" << endl; DEBUG_STREAM << "SSLSession::startReadRequestBody()" << endl; } //============================================================================== // SSLSession::handleReadBody() // SSLSession::handleReadRequestBody() //============================================================================== void SSLSession::handleReadBody(const boost::system::error_code&) void SSLSession::handleReadRequestBody(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleReadBody()" << endl; DEBUG_STREAM << "SSLSession::handleReadRequestBody()" << endl; } //============================================================================== // SSLSession::handleRequest() // SSLSession::startWriteResponse() //============================================================================== void SSLSession::startWriteResponse() { DEBUG_STREAM << "SSLSession::startWriteResponse()" << endl; } //============================================================================== // SSLSession::handleWriteResponse() //============================================================================== void SSLSession::handleRequest() void SSLSession::handleWriteResponse(const boost::system::error_code&) { DEBUG_STREAM << "SSLSession::handleRequest()" << endl; DEBUG_STREAM << "SSLSession::handleWriteResponse()" << endl; } } //namespace
src/SSLSession.h +7 −5 Original line number Diff line number Diff line Loading @@ -49,15 +49,17 @@ protected: //------------------------------------------------------------------------------ virtual void handleHandShake(const boost::system::error_code& ec); virtual void startReadHeader(); virtual void startReadRequestHeader(); virtual void handleReadHeader(const boost::system::error_code&); virtual void handleReadRequestHeader(const boost::system::error_code&); virtual void startReadBody(boost::uint32_t); virtual void startReadRequestBody(boost::uint32_t); virtual void handleReadBody(const boost::system::error_code&); virtual void handleReadRequestBody(const boost::system::error_code&); virtual void handleRequest(); virtual void startWriteResponse(); virtual void handleWriteResponse(const boost::system::error_code&); //------------------------------------------------------------------------------ // [Protected] Class variables Loading
src/Session.h +7 −5 Original line number Diff line number Diff line Loading @@ -48,15 +48,17 @@ protected: //------------------------------------------------------------------------------ // [Protected] Utilities methods //------------------------------------------------------------------------------ virtual void startReadHeader() = 0; virtual void startReadRequestHeader() = 0; virtual void handleReadHeader(const boost::system::error_code&) = 0; virtual void handleReadRequestHeader(const boost::system::error_code&) = 0; virtual void startReadBody(boost::uint32_t) = 0; virtual void startReadRequestBody(boost::uint32_t) = 0; virtual void handleReadBody(const boost::system::error_code&) = 0; virtual void handleReadRequestBody(const boost::system::error_code&) = 0; virtual void handleRequest() = 0; virtual void startWriteResponse() = 0; virtual void handleWriteResponse(const boost::system::error_code&) = 0; virtual ResponseSP prepareResponse(RequestSP) throw(std::runtime_error); Loading