SNode.C
|
#include <SocketContext.h>
Public Member Functions | |
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 |
virtual void | sendToPeer (const char *chunk, std::size_t chunkLen) const=0 |
![]() | |
SocketContext (const SocketContext &)=delete | |
SocketContext (SocketContext &&)=delete | |
SocketContext & | operator= (const SocketContext &)=delete |
SocketContext & | operator= (SocketContext &&)=delete |
void | sendToPeer (const std::string &data) const |
Protected Member Functions | |
void | onWriteError (int errnum) override |
void | onReadError (int errnum) override |
![]() | |
SocketContext ()=default | |
virtual | ~SocketContext () |
virtual std::size_t | onReceivedFromPeer ()=0 |
virtual bool | onSignal (int sig)=0 |
Private Types | |
using | Super = core::socket::SocketContext |
Private Member Functions | |
virtual void | onConnected ()=0 |
virtual void | onDisconnected ()=0 |
Private Attributes | |
core::socket::stream::SocketConnection * | socketConnection |
Friends | |
template<typename PhysicalSocketT , class SocketReaderT , class SocketWriterT > | |
class | SocketConnectionT |
class | SocketConnection |
Definition at line 64 of file SocketContext.h.
Definition at line 66 of file SocketContext.h.
|
explicit |
Definition at line 56 of file SocketContext.cpp.
References socketConnection.
Referenced by apps::echo::model::EchoSocketContext::EchoSocketContext(), apps::http::SimpleSocketProtocol::SimpleSocketProtocol(), iot::mqtt_fast::SocketContext::SocketContext(), web::http::client::SocketContext::SocketContext(), web::http::server::SocketContext::SocketContext(), and iot::mqtt::SocketContext::SocketContext().
|
overridevirtual |
Implements core::socket::SocketContext.
Reimplemented in iot::mqtt::SocketContext.
Definition at line 89 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::close(), and socketConnection.
Referenced by iot::mqtt::SocketContext::close(), web::http::client::Request::executeUpgrade(), iot::mqtt_fast::SocketContext::onReceivedFromPeer(), web::http::client::Request::onSourceError(), web::http::server::Response::onSourceError(), and web::http::client::Request::upgrade().
SocketConnection * core::socket::stream::SocketContext::getSocketConnection | ( | ) | const |
Definition at line 65 of file SocketContext.cpp.
References socketConnection.
Referenced by web::http::server::SocketContext::deliverRequest(), web::http::client::SocketContext::deliverResponse(), web::http::client::SocketContext::deliverResponseParseError(), iot::mqtt::SocketContext::getSocketConnection(), web::http::client::SocketContext::initiateRequest(), web::http::client::SocketContext::onConnected(), web::http::server::SocketContext::onConnected(), web::http::client::SocketContext::onDisconnected(), web::http::server::SocketContext::onDisconnected(), web::http::client::SocketContext::onSignal(), web::http::server::SocketContext::onSignal(), web::http::server::SocketContext::requestCompleted(), web::http::client::SocketContext::requestDelivered(), web::http::client::SocketContext::requestPrepared(), web::http::server::SocketContext::responseCompleted(), web::http::client::SocketContext::responseDelivered(), web::http::client::Request::responseParseError(), web::http::client::SocketContext::responseStarted(), web::http::server::SocketContext::responseStarted(), web::http::client::SocketContext::SocketContext(), web::http::server::SocketContext::SocketContext(), express::middleware::StaticMiddleware::StaticMiddleware(), web::http::server::Response::upgrade(), web::http::client::Request::upgrade(), express::middleware::VerboseRequest::VerboseRequest(), and web::http::client::SocketContext::~SocketContext().
|
privatepure virtual |
Implemented in apps::echo::model::EchoSocketContext, apps::http::SimpleSocketProtocol, apps::http::SimpleSocketProtocol, iot::mqtt::SocketContext, web::http::client::SocketContext, web::http::server::SocketContext, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >, web::websocket::SocketContextUpgrade< SubProtocol, web::http::client::Request, web::http::client::Response >, and web::websocket::SocketContextUpgrade< SubProtocol, web::http::server::Request, web::http::server::Response >.
Referenced by core::socket::stream::SocketConnection::setSocketContext().
|
privatepure virtual |
Implemented in apps::echo::model::EchoSocketContext, apps::http::SimpleSocketProtocol, apps::http::SimpleSocketProtocol, iot::mqtt::SocketContext, web::http::client::SocketContext, web::http::server::SocketContext, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >, web::websocket::SocketContextUpgrade< SubProtocol, web::http::client::Request, web::http::client::Response >, and web::websocket::SocketContextUpgrade< SubProtocol, web::http::server::Request, web::http::server::Response >.
Referenced by core::socket::stream::SocketConnection::disconnectCurrentSocketContext().
|
overrideprotectedvirtual |
Implements core::socket::SocketContext.
Definition at line 108 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), shutdownWrite(), and socketConnection.
Referenced by core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT >::onReadError(), and apps::http::SimpleSocketProtocol::onReadError().
|
overrideprotectedvirtual |
Implements core::socket::SocketContext.
Reimplemented in web::http::client::SocketContext, and web::http::server::SocketContext.
Definition at line 101 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), shutdownRead(), and socketConnection.
Referenced by core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT >::onWriteError(), and apps::http::SimpleSocketProtocol::onWriteError().
|
finalvirtual |
Implements core::socket::SocketContext.
Definition at line 81 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::readFromPeer(), and socketConnection.
Referenced by apps::echo::model::EchoSocketContext::onReceivedFromPeer(), web::http::decoder::Fields::read(), web::http::decoder::HTTP10Response::read(), web::http::decoder::Identity::read(), web::http::decoder::Chunked::Chunk::read(), web::http::Parser::readStartLine(), and iot::mqtt::SocketContext::recv().
|
finalvirtual |
Implements core::socket::SocketContext.
Definition at line 69 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::sendToPeer(), and socketConnection.
Referenced by web::http::client::Request::executeSendFragment(), apps::echo::model::EchoSocketContext::onReceivedFromPeer(), iot::mqtt::SocketContext::send(), iot::mqtt_fast::SocketContext::send(), and web::http::server::Response::sendFragment().
|
virtual |
Implements core::socket::SocketContext.
void core::socket::SocketContext::sendToPeer | ( | const std::string & | data | ) | const |
Definition at line 75 of file SocketContext.cpp.
|
finalvirtual |
Implements core::socket::SocketContext.
Definition at line 85 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::setTimeout(), and socketConnection.
void core::socket::stream::SocketContext::shutdownRead | ( | ) |
Definition at line 93 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::shutdownRead(), and socketConnection.
Referenced by apps::http::SimpleSocketProtocol::onWriteError(), and onWriteError().
void core::socket::stream::SocketContext::shutdownWrite | ( | bool | forceClose = false | ) |
Definition at line 97 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::shutdownWrite(), and socketConnection.
Referenced by web::http::client::SocketContext::deliverResponseParseError(), iot::mqtt::SocketContext::end(), apps::http::SimpleSocketProtocol::onReadError(), onReadError(), web::http::server::SocketContext::requestCompleted(), web::http::client::SocketContext::requestDelivered(), web::http::server::SocketContext::responseCompleted(), and web::http::client::SocketContext::responseStarted().
void core::socket::stream::SocketContext::streamEof | ( | ) |
Definition at line 77 of file SocketContext.cpp.
References socketConnection, and core::socket::stream::SocketConnection::streamEof().
Referenced by web::http::client::Request::onSourceEof(), web::http::server::Response::onSourceEof(), web::http::client::Request::onSourceError(), web::http::server::Response::onSourceError(), web::http::client::Request::~Request(), and web::http::server::Response::~Response().
bool core::socket::stream::SocketContext::streamToPeer | ( | core::pipe::Source * | source | ) | const |
Definition at line 73 of file SocketContext.cpp.
References socketConnection, and core::socket::stream::SocketConnection::streamToPeer().
Referenced by web::http::client::Request::onSourceConnect(), and web::http::server::Response::onSourceConnect().
|
virtual |
Definition at line 60 of file SocketContext.cpp.
References core::socket::stream::SocketConnection::getConnectionName(), socketConnection, and core::socket::stream::SocketConnection::switchSocketContext().
Referenced by web::http::server::Response::sendCompleted(), and web::http::client::Request::upgrade().
|
friend |
Definition at line 100 of file SocketContext.h.
|
friend |
Definition at line 99 of file SocketContext.h.
|
private |
Definition at line 96 of file SocketContext.h.
Referenced by close(), getSocketConnection(), onReadError(), onWriteError(), readFromPeer(), sendToPeer(), setTimeout(), shutdownRead(), shutdownWrite(), SocketContext(), streamEof(), streamToPeer(), and switchSocketContext().