VideoTools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
GNet::BufferedServerPeer Class Referenceabstract

A ServerPeer that does line-buffering on input. More...

#include <gbufferedserverpeer.h>

+ Inheritance diagram for GNet::BufferedServerPeer:

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, AddresslocalAddress () const override
 Returns the local address. More...
 
virtual std::pair< bool, AddresspeerAddress () 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...
 
StreamSocketsocket ()
 Returns a reference to the client-server connection socket. More...
 
Serverserver ()
 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
 

Detailed Description

A ServerPeer that does line-buffering on input.

Definition at line 40 of file gbufferedserverpeer.h.

Member Function Documentation

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.

virtual bool GNet::BufferedServerPeer::onReceive ( const std::string &  )
protectedpure virtual

Called when a complete line is received from the peer.

Returns false if no more lines should be delivered.


The documentation for this class was generated from the following files: