SNode.C
|
#include <SocketConnection.h>
Public Member Functions | |
SocketConnection (int fd, const net::config::ConfigInstance *config) | |
SocketConnection (const SocketConnection &)=delete | |
virtual int | getFd () const =0 |
virtual void | sendToPeer (const char *chunk, std::size_t chunkLen)=0 |
void | sendToPeer (const std::string &data) |
void | sentToPeer (const std::vector< uint8_t > &data) |
void | sentToPeer (const std::vector< char > &data) |
virtual bool | streamToPeer (core::pipe::Source *source)=0 |
virtual void | streamEof ()=0 |
virtual std::size_t | readFromPeer (char *chunk, std::size_t chunkLen)=0 |
virtual void | shutdownRead ()=0 |
virtual void | shutdownWrite (bool forceClose)=0 |
const std::string & | getInstanceName () const |
const std::string & | getConnectionName () const |
SocketContext * | getSocketContext () const |
virtual const core::socket::SocketAddress & | getLocalAddress () const =0 |
virtual const core::socket::SocketAddress & | getRemoteAddress () const =0 |
virtual void | close ()=0 |
virtual void | setTimeout (const utils::Timeval &timeout)=0 |
virtual std::size_t | getTotalSent () const =0 |
virtual std::size_t | getTotalQueued () const =0 |
virtual std::size_t | getTotalRead () const =0 |
virtual std::size_t | getTotalProcessed () const =0 |
std::string | getOnlineSince () const |
std::string | getOnlineDuration () const |
const net::config::ConfigInstance * | getConfig () const |
Protected Member Functions | |
virtual | ~SocketConnection () |
void | setSocketContext (SocketContext *socketContext) |
void | connectSocketContext (const std::shared_ptr< SocketContextFactory > &socketContextFactory) |
Protected Attributes | |
core::socket::stream::SocketContext * | socketContext = nullptr |
std::string | instanceName |
std::string | connectionName |
std::chrono::time_point< std::chrono::system_clock > | onlineSinceTimePoint |
Static Private Member Functions | |
static std::string | timePointToString (const std::chrono::time_point< std::chrono::system_clock > &timePoint) |
static std::string | durationToString (const std::chrono::time_point< std::chrono::system_clock > &bevore, const std::chrono::time_point< std::chrono::system_clock > &later=std::chrono::system_clock::now()) |
Private Attributes | |
const net::config::ConfigInstance * | config |
Friends | |
class | core::socket::stream::SocketContext |
Definition at line 82 of file SocketConnection.h.
core::socket::stream::SocketConnection::SocketConnection | ( | int | fd, |
const net::config::ConfigInstance * | config | ||
) |
Definition at line 62 of file SocketConnection.cpp.
References connectionName, net::config::ConfigInstance::getInstanceName(), instanceName, and onlineSinceTimePoint.
|
delete |
|
protectedvirtual |
Definition at line 69 of file SocketConnection.cpp.
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::close(), and connectSocketContext().
|
protected |
Definition at line 120 of file SocketConnection.cpp.
References close(), connectionName, core::socket::stream::SocketContextFactory::create(), and setSocketContext().
|
staticprivate |
Definition at line 147 of file SocketConnection.cpp.
Referenced by getOnlineDuration().
const net::config::ConfigInstance * core::socket::stream::SocketConnection::getConfig | ( | ) | const |
Definition at line 116 of file SocketConnection.cpp.
const std::string & core::socket::stream::SocketConnection::getConnectionName | ( | ) | const |
Definition at line 100 of file SocketConnection.cpp.
References connectionName.
Referenced by web::websocket::SubProtocol< SocketContextUpgradeT >::attach(), web::http::server::SocketContext::deliverRequest(), web::http::client::SocketContext::deliverResponse(), web::http::client::SocketContext::deliverResponseParseError(), core::socket::stream::SocketContext::detach(), web::websocket::SubProtocol< SocketContextUpgradeT >::detach(), express::dispatcher::ApplicationDispatcher::dispatch(), express::dispatcher::MiddlewareDispatcher::dispatch(), express::dispatcher::RouterDispatcher::dispatch(), web::http::client::Request::executeUpgrade(), web::http::client::SocketContext::initiateRequest(), main(), web::http::client::SocketContext::onConnected(), web::http::server::SocketContext::onConnected(), web::http::client::SocketContext::onDisconnected(), web::http::server::SocketContext::onDisconnected(), web::websocket::SubProtocol< SocketContextUpgradeT >::onPongReceived(), core::socket::stream::SocketContext::onReadError(), web::http::client::SocketContext::onSignal(), web::http::server::SocketContext::onSignal(), core::socket::stream::SocketContext::onWriteError(), core::socket::stream::SocketContext::readFromPeer(), core::socket::stream::SocketContext::readFromPeer(), 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::websocket::SubProtocol< SocketContextUpgradeT >::sendPing(), web::http::server::SocketContext::SocketContext(), express::middleware::StaticMiddleware::StaticMiddleware(), web::websocket::SubProtocol< SocketContextUpgradeT >::SubProtocol(), core::socket::stream::SocketContext::switchSocketContext(), web::http::server::Response::upgrade(), web::http::client::Request::upgrade(), web::http::client::Request::upgrade(), express::middleware::VerboseRequest::VerboseRequest(), and web::http::client::SocketContext::~SocketContext().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
const std::string & core::socket::stream::SocketConnection::getInstanceName | ( | ) | const |
Definition at line 96 of file SocketConnection.cpp.
References instanceName.
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
std::string core::socket::stream::SocketConnection::getOnlineDuration | ( | ) | const |
Definition at line 112 of file SocketConnection.cpp.
References durationToString(), and onlineSinceTimePoint.
std::string core::socket::stream::SocketConnection::getOnlineSince | ( | ) | const |
Definition at line 108 of file SocketConnection.cpp.
References onlineSinceTimePoint, and timePointToString().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by web::http::client::SocketContext::SocketContext().
SocketContext * core::socket::stream::SocketConnection::getSocketContext | ( | ) | const |
Definition at line 104 of file SocketConnection.cpp.
References socketContext.
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::attach(), and core::socket::stream::SocketContext::getTotalProcessed().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::attach(), and core::socket::stream::SocketContext::getTotalQueued().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::getTotalRead().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::getTotalSent().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::readFromPeer().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::sendToPeer(), sendToPeer(), sentToPeer(), and sentToPeer().
void core::socket::stream::SocketConnection::sendToPeer | ( | const std::string & | data | ) |
Definition at line 84 of file SocketConnection.cpp.
References sendToPeer().
Referenced by tls::getClient(), and legacy::getLegacyClient().
void core::socket::stream::SocketConnection::sentToPeer | ( | const std::vector< char > & | data | ) |
Definition at line 92 of file SocketConnection.cpp.
References sendToPeer().
void core::socket::stream::SocketConnection::sentToPeer | ( | const std::vector< uint8_t > & | data | ) |
Definition at line 88 of file SocketConnection.cpp.
References sendToPeer().
|
protected |
Definition at line 72 of file SocketConnection.cpp.
References core::socket::stream::SocketContext::attach(), connectionName, and socketContext.
Referenced by connectSocketContext(), and core::socket::stream::SocketContext::readFromPeer().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by iot::mqtt::Mqtt::initSession(), and core::socket::stream::SocketContext::setTimeout().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::shutdownRead().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::shutdownWrite().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::streamEof().
|
pure virtual |
Implemented in core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by core::socket::stream::SocketContext::streamToPeer().
|
staticprivate |
Definition at line 132 of file SocketConnection.cpp.
Referenced by getOnlineSince().
|
friend |
Definition at line 150 of file SocketConnection.h.
|
private |
Definition at line 148 of file SocketConnection.h.
|
protected |
Definition at line 143 of file SocketConnection.h.
Referenced by connectSocketContext(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::doWriteShutdown(), getConnectionName(), core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >::onReadError(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::onSignal(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::readTimeout(), setSocketContext(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::shutdownRead(), SocketConnection(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::SocketConnectionT(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::unobservedEvent(), core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >::unobservedEvent(), and core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::writeTimeout().
|
protected |
Definition at line 142 of file SocketConnection.h.
Referenced by getInstanceName(), SocketConnection(), and core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::SocketConnectionT().
|
protected |
Definition at line 145 of file SocketConnection.h.
Referenced by getOnlineDuration(), getOnlineSince(), and SocketConnection().
|
protected |
Definition at line 140 of file SocketConnection.h.
Referenced by getSocketContext(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::onReadError(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::onReceivedFromPeer(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::onSignal(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::onWriteError(), setSocketContext(), and core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::unobservedEvent().