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 (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 |
SocketConnection * | getSocketConnection () const |
virtual void | switchSocketContext (SocketContext *newSocketContext) |
void | sendToPeer (const std::string &data) const |
![]() | |
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 () |
void | responseCompleted (bool success) |
void | requestCompleted () |
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 |
RequestParser | parser |
bool | httpClose = false |
friend | Response |
Additional Inherited Members | |
![]() | |
void | onReadError (int errnum) override |
![]() | |
SocketContext ()=default | |
virtual | ~SocketContext () |
Definition at line 45 of file SocketContext.h.
|
private |
Definition at line 49 of file SocketContext.h.
Definition at line 50 of file SocketContext.h.
Definition at line 47 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 37 of file SocketContext.cpp.
References SocketContext().
Referenced by SocketContext().
|
private |
Definition at line 66 of file SocketContext.cpp.
Referenced by requestCompleted().
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 137 of file SocketContext.cpp.
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 153 of file SocketContext.cpp.
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 143 of file SocketContext.cpp.
References httpClose.
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 161 of file SocketContext.cpp.
|
overrideprivatevirtual |
Reimplemented from core::socket::stream::SocketContext.
Definition at line 167 of file SocketContext.cpp.
|
private |
Definition at line 115 of file SocketContext.cpp.
References deliverRequest(), and httpClose.
Referenced by responseCompleted().
|
private |
Definition at line 95 of file SocketContext.cpp.
References requestCompleted().
|
private |
Definition at line 88 of file SocketContext.cpp.
|
private |
Definition at line 75 of file SocketContext.h.
Referenced by onReceivedFromPeer(), and requestCompleted().
|
private |
Definition at line 71 of file SocketContext.h.
|
private |
Definition at line 62 of file SocketContext.h.
|
private |
Definition at line 73 of file SocketContext.h.
|
private |
Definition at line 70 of file SocketContext.h.
|
private |
Definition at line 77 of file SocketContext.h.