SNode.C
|
#include <SocketContextUpgrade.h>
Public Types | |
using | SubProtocol = SubProtocolT |
using | Request = RequestT |
using | Response = ResponseT |
![]() | |
enum | OpCode { CONTINUATION = 0x00 , TEXT = 0x01 , BINARY = 0x02 , CLOSE = 0x08 , PING = 0x09 , PONG = 0x0A } |
Public Member Functions | |
SocketContextUpgrade ()=delete | |
SocketContextUpgrade (const SocketContextUpgrade &)=delete | |
SocketContextUpgrade & | operator= (const SocketContextUpgrade &)=delete |
~SocketContextUpgrade () override=default | |
![]() | |
SocketContext (core::socket::stream::SocketConnection *socketConnection) | |
~SocketContext () override | |
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 |
SocketConnection * | getSocketConnection () const |
virtual 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 |
![]() | |
SocketContext (const SocketContext &)=delete | |
SocketContext (SocketContext &&)=delete | |
SocketContext & | operator= (const SocketContext &)=delete |
SocketContext & | operator= (SocketContext &&)=delete |
void | sendToPeer (const std::string &data) const |
![]() | |
SubProtocolContext (bool masking) | |
SubProtocolContext (const SubProtocolContext &)=delete | |
~SubProtocolContext () override | |
SubProtocolContext & | operator= (const SubProtocolContext &)=delete |
Protected Types | |
enum class | Role { SERVER , CLIENT } |
![]() | |
using | Request = RequestT |
using | Response = ResponseT |
using | SocketContextUpgradeFactory = web::http::SocketContextUpgradeFactory< Request, Response > |
Protected Member Functions | |
SocketContextUpgrade (core::socket::stream::SocketConnection *socketConnection, web::http::SocketContextUpgradeFactory< Request, Response > *socketContextUpgradeFactory, Role role) | |
![]() | |
SocketContextUpgrade (core::socket::stream::SocketConnection *socketConnection, SocketContextUpgradeFactory *socketContextUpgradeFactory) | |
~SocketContextUpgrade () override | |
![]() | |
void | onWriteError (int errnum) override |
void | onReadError (int errnum) override |
void | readFromPeer (std::size_t available) |
![]() | |
SocketContext ()=default | |
![]() | |
Receiver (bool maskingExpected) | |
Receiver (const Receiver &)=delete | |
Receiver & | operator= (const Receiver &)=delete |
virtual | ~Receiver () |
std::size_t | receive () |
std::size_t | getPayloadTotalRead () const |
![]() | |
Transmitter (bool masking) | |
void | sendMessage (uint8_t opCode, const char *message, std::size_t messageLength) |
void | sendMessageStart (uint8_t opCode, const char *message, std::size_t messageLength) |
void | sendMessageFrame (const char *message, std::size_t messageLength) |
void | sendMessageEnd (const char *message, std::size_t messageLength) |
std::size_t | getPayloadTotalSent () const |
Transmitter ()=delete | |
Transmitter (const Transmitter &)=delete | |
Transmitter & | operator= (const Transmitter &)=delete |
virtual | ~Transmitter () |
Protected Attributes | |
SubProtocol * | subProtocol = nullptr |
![]() | |
bool | closeSent = false |
Private Types | |
using | Super = web::http::SocketContextUpgrade< RequestT, ResponseT > |
Private Member Functions | |
void | sendMessage (uint8_t opCode, const char *message, std::size_t messageLength) override |
void | sendMessageStart (uint8_t opCode, const char *message, std::size_t messageLength) override |
void | sendMessageFrame (const char *message, std::size_t messageLength) override |
void | sendMessageEnd (const char *message, std::size_t messageLength) override |
void | sendPing (const char *reason=nullptr, std::size_t reasonLength=0) override |
void | sendPong (const char *reason=nullptr, std::size_t reasonLength=0) override |
void | sendClose (uint16_t statusCode=1000, const char *reason=nullptr, std::size_t reasonLength=0) override |
void | sendClose (const char *message, std::size_t messageLength) override |
void | sendFrameChunk (const char *chunk, std::size_t chunkLen) const final |
std::size_t | readFrameChunk (char *chunk, std::size_t chunkLen) const final |
core::socket::stream::SocketConnection * | getSocketConnection () const override |
void | onMessageStart (int opCode) override |
void | onMessageData (const char *chunk, uint64_t chunkLen) override |
void | onMessageEnd () override |
void | onMessageError (uint16_t errnum) override |
void | onConnected () override |
void | onDisconnected () override |
bool | onSignal (int sig) override |
std::size_t | onReceivedFromPeer () override |
std::size_t | getPayloadTotalSent () const override |
std::size_t | getPayloadTotalRead () const override |
std::string | getOnlineSince () const override |
std::string | getOnlineDuration () const override |
Private Attributes | |
int | receivedOpCode = 0 |
std::string | pongCloseData |
Definition at line 78 of file SocketContextUpgrade.h.
using web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::Request = RequestT |
Definition at line 91 of file SocketContextUpgrade.h.
using web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::Response = ResponseT |
Definition at line 92 of file SocketContextUpgrade.h.
using web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::SubProtocol = SubProtocolT |
Definition at line 90 of file SocketContextUpgrade.h.
|
private |
Definition at line 87 of file SocketContextUpgrade.h.
|
strongprotected |
|
delete |
|
delete |
|
protected |
Definition at line 54 of file SocketContextUpgrade.hpp.
Referenced by web::websocket::client::SocketContextUpgrade::SocketContextUpgrade(), and web::websocket::server::SocketContextUpgrade::SocketContextUpgrade().
|
overridedefault |
|
overrideprivatevirtual |
Reimplemented from core::socket::stream::SocketContext.
Definition at line 254 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Reimplemented from core::socket::stream::SocketContext.
Definition at line 249 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 244 of file SocketContextUpgrade.hpp.
References web::websocket::Receiver::getPayloadTotalRead().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 239 of file SocketContextUpgrade.hpp.
References web::websocket::Transmitter::getPayloadTotalSent().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 135 of file SocketContextUpgrade.hpp.
Referenced by web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onConnected(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onDisconnected(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageEnd().
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 216 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::getSocketConnection(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
overrideprivatevirtual |
Implements core::socket::stream::SocketContext.
Definition at line 222 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::getSocketConnection(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
overrideprivatevirtual |
Implements web::websocket::Receiver.
Definition at line 157 of file SocketContextUpgrade.hpp.
References web::websocket::SubProtocolContext::CLOSE, web::websocket::SubProtocolContext::PING, web::websocket::SubProtocolContext::PONG, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::pongCloseData, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::receivedOpCode, and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
overrideprivatevirtual |
Implements web::websocket::Receiver.
Definition at line 179 of file SocketContextUpgrade.hpp.
References web::websocket::SubProtocolContext::CLOSE, web::websocket::Transmitter::closeSent, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::getSocketConnection(), web::websocket::SubProtocolContext::PING, web::websocket::SubProtocolContext::PONG, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::pongCloseData, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::receivedOpCode, web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::sendPong(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
overrideprivatevirtual |
Implements web::websocket::Receiver.
Definition at line 210 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
overrideprivatevirtual |
Implements web::websocket::Receiver.
Definition at line 140 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 234 of file SocketContextUpgrade.hpp.
References web::websocket::Receiver::receive().
|
overrideprivatevirtual |
Implements core::socket::SocketContext.
Definition at line 229 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::subProtocol.
|
delete |
|
finalprivatevirtual |
Implements web::websocket::Receiver.
Definition at line 130 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 111 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 95 of file SocketContextUpgrade.hpp.
|
finalprivatevirtual |
Implements web::websocket::Transmitter.
Definition at line 125 of file SocketContextUpgrade.hpp.
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 63 of file SocketContextUpgrade.hpp.
References web::websocket::Transmitter::sendMessage().
Referenced by web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::sendPing(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::sendPong().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 79 of file SocketContextUpgrade.hpp.
References web::websocket::Transmitter::sendMessageEnd().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 74 of file SocketContextUpgrade.hpp.
References web::websocket::Transmitter::sendMessageFrame().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 69 of file SocketContextUpgrade.hpp.
References web::websocket::Transmitter::sendMessageStart().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 84 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::sendMessage().
|
overrideprivatevirtual |
Implements web::websocket::SubProtocolContext.
Definition at line 89 of file SocketContextUpgrade.hpp.
References web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::sendMessage().
Referenced by web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageEnd().
|
private |
Definition at line 152 of file SocketContextUpgrade.h.
Referenced by web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageData(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageEnd().
|
private |
Definition at line 150 of file SocketContextUpgrade.h.
Referenced by web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageData(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageEnd().
|
protected |
Definition at line 147 of file SocketContextUpgrade.h.
Referenced by web::websocket::SocketContextUpgrade< SubProtocol, web::http::client::Request, web::http::client::Response >::getOnlineDuration(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onConnected(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onDisconnected(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageData(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageEnd(), web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onMessageError(), and web::websocket::SocketContextUpgrade< SubProtocolT, RequestT, ResponseT >::onSignal().