OpenDaVINCI  4.16.0
odcore::io::tcp::TCPConnection Class Referenceabstract

#include <TCPConnection.h>

Inheritance diagram for odcore::io::tcp::TCPConnection:
Inheritance graph

Public Member Functions

virtual ~TCPConnection ()
 
void send (const string &data)
 
void setConnectionListener (ConnectionListener *cl)
 
void setStringListener (StringListener *listener)
 
virtual void start ()=0
 
virtual void stop ()=0
 
bool isRaw () const
 
void setRaw (const bool &raw)
 

Protected Member Functions

 TCPConnection ()
 
void receivedString (const string &partialData)
 
virtual void sendImplementation (const string &data)=0
 
void invokeConnectionListener ()
 

Constructor & Destructor Documentation

odcore::io::tcp::TCPConnection::TCPConnection ( )
protected

Protected constructor for enforcing subclasses for this class.

odcore::io::tcp::TCPConnection::~TCPConnection ( )
virtual

Member Function Documentation

bool odcore::io::tcp::TCPConnection::isRaw ( ) const

This method returns if we have configured a raw TCP connection (i.e. without the size of the payload information).

Referenced by receivedString(), and send().

void odcore::io::tcp::TCPConnection::receivedString ( const string &  partialData)
protected

This method has to be called by subclasses whenever new (partial) data was received. This method is responsible for gathering partial data and invoking the registered StringListener when a complete data packet was gathered.

Parameters
partialDataPartially received data that will be gathered until the complete data can be passed to the registered StringListener.

References isRaw().

Referenced by odcore::wrapper::POSIX::POSIXTCPConnection::run(), and odcore::wrapper::WIN32Impl::WIN32TCPConnection::run().

void odcore::io::tcp::TCPConnection::send ( const string &  data)

This method is used to send data using this TCP connection.

Parameters
dataData to send.

References isRaw(), and sendImplementation().

Referenced by odcore::wrapper::POSIX::POSIXTCPConnection::sendImplementation(), and odcore::wrapper::WIN32Impl::WIN32TCPConnection::sendImplementation().

virtual void odcore::io::tcp::TCPConnection::sendImplementation ( const string &  data)
protectedpure virtual

This method has to be implemented in subclasses to send data. It is called from within the send()- method.

param data Data with prepended size information.

Implemented in odcore::wrapper::POSIX::POSIXTCPConnection, and odcore::wrapper::WIN32Impl::WIN32TCPConnection.

Referenced by send().

void odcore::io::tcp::TCPConnection::setConnectionListener ( ConnectionListener cl)
virtual

This method registers a ConnectionListener that will be informed about connection errors.

Parameters
clThe ConnectionListener

Implements odcore::io::ConnectionObserver.

Referenced by ~TCPConnection().

void odcore::io::tcp::TCPConnection::setRaw ( const bool &  raw)

This method configures a TCP connection to just transport the raw bytes.

void odcore::io::tcp::TCPConnection::setStringListener ( StringListener listener)
virtual

This method sets the StringListener that will receive incoming data.

Parameters
listenerStringListener that will receive incoming data.

Implements odcore::io::StringObserver.

Referenced by ~TCPConnection().

virtual void odcore::io::tcp::TCPConnection::start ( )
pure virtual

This method must be called to start the connection.

Implemented in odcore::wrapper::POSIX::POSIXTCPConnection, and odcore::wrapper::WIN32Impl::WIN32TCPConnection.

virtual void odcore::io::tcp::TCPConnection::stop ( )
pure virtual