|
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 & | getBindAddress () const =0 |
| 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 void | setReadTimeout (const utils::Timeval &timeout)=0 |
| virtual void | setWriteTimeout (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 (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 |
Private Member Functions | |
| void | setSocketContext (SocketContext *socketContext) |
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 setSocketContext().
|
staticprivate |
Definition at line 145 of file SocketConnection.cpp.
Referenced by getOnlineDuration().
|
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 net::config::ConfigInstance * core::socket::stream::SocketConnection::getConfig | ( | ) | const |
Definition at line 126 of file SocketConnection.cpp.
| const std::string & core::socket::stream::SocketConnection::getConnectionName | ( | ) | const |
Definition at line 110 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::MasterRequest::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::requestCompleted(), web::http::client::SocketContext::requestDelivered(), web::http::client::MasterRequest::requestEventSource(), web::http::client::SocketContext::requestPrepared(), web::http::server::SocketContext::responseCompleted(), 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::MasterRequest::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 106 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 122 of file SocketConnection.cpp.
References durationToString(), and onlineSinceTimePoint.
| std::string core::socket::stream::SocketConnection::getOnlineSince | ( | ) | const |
Definition at line 118 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 >.
| SocketContext * core::socket::stream::SocketConnection::getSocketContext | ( | ) | const |
Definition at line 114 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(), and sentToPeer().
| void core::socket::stream::SocketConnection::sendToPeer | ( | const std::string & | data | ) |
Definition at line 94 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 102 of file SocketConnection.cpp.
References sendToPeer().
| void core::socket::stream::SocketConnection::sentToPeer | ( | const std::vector< uint8_t > & | data | ) |
Definition at line 98 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 web::http::server::SocketContext::responseStarted().
|
protected |
Definition at line 72 of file SocketConnection.cpp.
References close(), connectionName, core::socket::stream::SocketContextFactory::create(), and setSocketContext().
|
private |
Definition at line 84 of file SocketConnection.cpp.
References core::socket::stream::SocketContext::attach(), core::socket::stream::SocketContext::detach(), and socketContext.
Referenced by core::socket::stream::SocketContext::readFromPeer(), and setSocketContext().
|
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 web::http::client::SocketContext::setSseEventReceiver().
|
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 130 of file SocketConnection.cpp.
Referenced by getOnlineSince().
|
friend |
Definition at line 154 of file SocketConnection.h.
|
private |
Definition at line 152 of file SocketConnection.h.
|
protected |
Definition at line 147 of file SocketConnection.h.
Referenced by 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 >::onReceivedFromPeer(), 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 >::shutdownWrite(), SocketConnection(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::SocketConnectionT(), core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::unobservedEvent(), and core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::writeTimeout().
|
protected |
Definition at line 146 of file SocketConnection.h.
Referenced by getInstanceName(), SocketConnection(), and core::socket::stream::SocketConnectionT< PhysicalSocketT, SocketReaderT, SocketWriterT, ConfigT >::SocketConnectionT().
|
protected |
Definition at line 149 of file SocketConnection.h.
Referenced by getOnlineDuration(), getOnlineSince(), and SocketConnection().
|
protected |
Definition at line 144 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().