|
SNode.C
|
#include <SocketContext.h>
Public Member Functions | |
| SocketContext (core::socket::stream::SocketConnection *socketConnection, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &onRequestReady) | |
| SocketContext * | onConnected (std::function< void()> onConnectEventReceiver) |
| SocketContext * | onDisconnected (std::function< void()> onDisconnectEventReceiver) |
Public Member Functions inherited from core::socket::stream::SocketContext | |
| SocketContext (core::socket::stream::SocketConnection *socketConnection) | |
| void | sendToPeer (const char *chunk, std::size_t chunkLen) const final |
| bool | streamToPeer (core::pipe::Source *source) const |
| void | streamEof () |
| std::size_t | readFromPeer (char *chunk, std::size_t chunklen) const final |
| void | setTimeout (const utils::Timeval &timeout) final |
| void | shutdownRead () |
| void | shutdownWrite (bool forceClose=false) |
| void | close () override |
| std::size_t | getTotalSent () const override |
| std::size_t | getTotalQueued () const override |
| std::size_t | getTotalRead () const override |
| std::size_t | getTotalProcessed () const override |
| std::string | getOnlineSince () const override |
| std::string | getOnlineDuration () const override |
| SocketConnection * | getSocketConnection () const |
| void | switchSocketContext (SocketContext *newSocketContext) |
| virtual std::size_t | readFromPeer (char *chunk, std::size_t chunklen) const=0 |
| void | sendToPeer (const std::string &data) const |
| virtual void | sendToPeer (const char *chunk, std::size_t chunkLen) const=0 |
Public Member Functions inherited from core::socket::SocketContext | |
| SocketContext (const SocketContext &)=delete | |
| SocketContext (SocketContext &&)=delete | |
| SocketContext & | operator= (const SocketContext &)=delete |
| SocketContext & | operator= (SocketContext &&)=delete |
| void | sendToPeer (const std::string &data) const |
Private Types | |
| using | Super = core::socket::stream::SocketContext |
| using | Request = web::http::server::Request |
| using | Response = web::http::server::Response |
Private Member Functions | |
| void | deliverRequest () |
| void | responseStarted (const Response &response) |
| void | responseCompleted (const Response &response, bool success) |
| void | requestCompleted (const Response &response) |
| void | onConnected () override |
| std::size_t | onReceivedFromPeer () override |
| void | onDisconnected () override |
| bool | onSignal (int signum) override |
| void | onWriteError (int errnum) override |
Private Attributes | |
| std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> | onRequestReady |
| std::list< std::shared_ptr< Request > > | pendingRequests |
| std::shared_ptr< Response > | masterResponse |
| std::list< std::function< void()> > | onConnectEventReceiverList |
| std::list< std::function< void()> > | onDisconnectEventReceiverList |
| RequestParser | parser |
| bool | httpClose = false |
| bool | serverSentEvent = false |
| friend | Response |
Additional Inherited Members | |
Protected Member Functions inherited from core::socket::stream::SocketContext | |
| void | onReadError (int errnum) override |
| void | readFromPeer (std::size_t available) |
Protected Member Functions inherited from core::socket::SocketContext | |
| SocketContext ()=default | |
| virtual | ~SocketContext () |
Definition at line 68 of file SocketContext.h.
|
private |
Definition at line 72 of file SocketContext.h.
Definition at line 73 of file SocketContext.h.
Definition at line 70 of file SocketContext.h.
| web::http::server::SocketContext::SocketContext | ( | core::socket::stream::SocketConnection * | socketConnection, |
| const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> & | onRequestReady | ||
| ) |
Definition at line 61 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), masterResponse, onRequestReady, parser, web::http::server::RequestParser::RequestParser(), and core::socket::stream::SocketContext::SocketContext().
Referenced by web::http::server::SocketContextFactory::create().
|
private |
Definition at line 107 of file SocketContext.cpp.
References web::http::server::Request::get(), core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), web::http::server::Request::httpMajor, web::http::server::Response::httpMajor, web::http::server::Request::httpMinor, web::http::server::Response::httpMinor, web::http::server::Response::init(), masterResponse, web::http::server::Request::method, onRequestReady, pendingRequests, web::http::server::Request::reason, web::http::server::Response::requestMethod, web::http::server::Response::send(), web::http::server::Response::set(), web::http::server::Request::status, web::http::server::Response::status(), and web::http::server::Request::url.
Referenced by requestCompleted().
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 208 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), and onConnectEventReceiverList.
| SocketContext * web::http::server::SocketContext::onConnected | ( | std::function< void()> | onConnectEventReceiver | ) |
Definition at line 95 of file SocketContext.cpp.
References onConnectEventReceiverList.
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 226 of file SocketContext.cpp.
References web::http::server::Response::disconnect(), core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), masterResponse, and onDisconnectEventReceiverList.
| SocketContext * web::http::server::SocketContext::onDisconnected | ( | std::function< void()> | onDisconnectEventReceiver | ) |
Definition at line 101 of file SocketContext.cpp.
References onDisconnectEventReceiverList.
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 216 of file SocketContext.cpp.
References httpClose, web::http::Parser::parse(), parser, and serverSentEvent.
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 236 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), and core::socket::stream::SocketContext::getSocketConnection().
|
overrideprivatevirtual |
Reimplemented from core::socket::stream::SocketContext.
Definition at line 242 of file SocketContext.cpp.
|
private |
Definition at line 172 of file SocketContext.cpp.
References core::EventReceiver::atNextTick(), web::http::Close, web::http::server::Response::connectionState, web::http::Default, deliverRequest(), core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), httpClose, web::http::server::Request::httpMajor, web::http::server::Response::httpMajor, web::http::server::Request::httpMinor, web::http::server::Response::httpMinor, masterResponse, web::http::server::Request::method, pendingRequests, web::http::StatusCode::reason(), core::socket::stream::SocketContext::shutdownWrite(), web::http::server::Response::statusCode, and web::http::server::Request::url.
Referenced by responseCompleted().
|
private |
Definition at line 161 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), web::http::StatusCode::reason(), requestCompleted(), core::socket::stream::SocketContext::shutdownWrite(), and web::http::server::Response::statusCode.
Referenced by web::http::server::Response::sendCompleted().
|
private |
Definition at line 138 of file SocketContext.cpp.
References web::http::ciContains(), web::http::server::Request::get(), core::socket::stream::SocketConnection::getConnectionName(), core::socket::stream::SocketContext::getSocketConnection(), web::http::server::Request::httpMajor, web::http::server::Response::httpMajor, web::http::server::Request::httpMinor, web::http::server::Response::httpMinor, web::http::server::Request::method, pendingRequests, web::http::StatusCode::reason(), serverSentEvent, core::socket::stream::SocketConnection::setReadTimeout(), web::http::server::Response::statusCode, and web::http::server::Request::url.
Referenced by web::http::server::Response::sendHeader().
|
private |
Definition at line 105 of file SocketContext.h.
Referenced by onReceivedFromPeer(), and requestCompleted().
|
private |
Definition at line 98 of file SocketContext.h.
Referenced by deliverRequest(), onDisconnected(), requestCompleted(), and SocketContext().
|
private |
Definition at line 100 of file SocketContext.h.
Referenced by onConnected(), and onConnected().
|
private |
Definition at line 101 of file SocketContext.h.
Referenced by onDisconnected(), and onDisconnected().
|
private |
Definition at line 89 of file SocketContext.h.
Referenced by deliverRequest(), and SocketContext().
|
private |
Definition at line 103 of file SocketContext.h.
Referenced by onReceivedFromPeer(), and SocketContext().
|
private |
Definition at line 97 of file SocketContext.h.
Referenced by deliverRequest(), requestCompleted(), and responseStarted().
|
private |
Definition at line 108 of file SocketContext.h.
|
private |
Definition at line 106 of file SocketContext.h.
Referenced by onReceivedFromPeer(), and responseStarted().