VideoTools
|
A ServerPeer that does line-buffering on input. More...
#include <gbufferedserverpeer.h>
Public Member Functions | |
BufferedServerPeer (Server::PeerInfo) | |
Constructor with an auto-detected line ending. | |
BufferedServerPeer (Server::PeerInfo, const std::string &eol) | |
Constructor with a fixed line ending. | |
virtual | ~BufferedServerPeer () |
Destructor. | |
const std::string & | eol () const |
Returns the line-buffer's line ending. More... | |
void | expect (size_t n) |
Temporarily suspends line buffering so that the next 'n' bytes are accumulated without regard to line terminators. More... | |
Public Member Functions inherited from GNet::ServerPeer | |
ServerPeer (Server::PeerInfo) | |
Constructor. More... | |
bool | send (const std::string &data, std::string::size_type offset=0U) |
Sends data down the socket to the peer. More... | |
bool | send (const std::vector< std::pair< const char *, size_t > > &data) |
Overload to send data using scatter-gather segments. More... | |
void | doDelete (const std::string &=std::string()) |
Does "onDelete(); delete this". | |
std::string | logId () const |
Returns an identification string for logging purposes. | |
virtual std::pair< bool, Address > | localAddress () const override |
Returns the local address. More... | |
virtual std::pair< bool, Address > | peerAddress () const override |
Returns the peer address. More... | |
virtual std::string | peerCertificate () const override |
Returns the peer's TLS certificate. More... | |
virtual void | readEvent () override |
Override from GNet::EventHandler. | |
virtual void | writeEvent () override |
Override from GNet::EventHandler. | |
void | doDeleteThis (int) |
Does delete this. Should only be used by the GNet::Server class. | |
virtual void | onException (std::exception &) g__final override |
Override from GNet::EventHandler. More... | |
Public Member Functions inherited from GNet::EventHandler | |
virtual | ~EventHandler () |
Destructor. | |
virtual void | exceptionEvent () |
Called for a socket-exception event. More... | |
Public Member Functions inherited from GNet::Connection | |
virtual | ~Connection () |
Destructor. | |
Public Member Functions inherited from GNet::SocketProtocolSink | |
virtual | ~SocketProtocolSink () |
Destructor. | |
Protected Member Functions | |
virtual bool | onReceive (const std::string &)=0 |
Called when a complete line is received from the peer. More... | |
virtual void | onData (const char *, ServerPeer::size_type) |
Override from GNet::SocketProtocolSink. | |
Protected Member Functions inherited from GNet::ServerPeer | |
virtual | ~ServerPeer () |
Destructor. More... | |
virtual void | onDelete (const std::string &reason)=0 |
Called just before destruction. More... | |
virtual void | onSendComplete ()=0 |
Called after flow-control has been released and all residual data sent. More... | |
void | sslAccept () |
Waits for the peer to start a secure session. More... | |
StreamSocket & | socket () |
Returns a reference to the client-server connection socket. More... | |
Server * | server () |
Returns a pointer to the associated server object. More... | |
Protected Member Functions inherited from GNet::EventExceptionHandler | |
virtual | ~EventExceptionHandler () |
Destructor. | |
Protected Member Functions inherited from GNet::SocketProtocolSink | |
virtual void | onData (const char *, size_t)=0 |
Called when data is read from the socket. | |
virtual void | onSecure (const std::string &peer_certificate)=0 |
Called once the secure socket protocol has been successfully negotiated. More... | |
Additional Inherited Members | |
Public Types inherited from GNet::ServerPeer | |
typedef std::string::size_type | size_type |
A ServerPeer that does line-buffering on input.
Definition at line 40 of file gbufferedserverpeer.h.
const std::string & GNet::BufferedServerPeer::eol | ( | ) | const |
Returns the line-buffer's line ending.
This is typically used in the first onReceive() callback to check the auto-detection result.
Definition at line 56 of file gbufferedserverpeer.cpp.
void GNet::BufferedServerPeer::expect | ( | size_t | n | ) |
Temporarily suspends line buffering so that the next 'n' bytes are accumulated without regard to line terminators.
Definition at line 51 of file gbufferedserverpeer.cpp.
|
protectedpure virtual |
Called when a complete line is received from the peer.
Returns false if no more lines should be delivered.