Workspace 6.21.5
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
TcpMessage Class Reference

#include <Workspace/DataExecution/Execution/tcpmessage.h>

Inheritance diagram for TcpMessage:
[legend]

Public Member Functions

 TcpMessage ()
 
 TcpMessage (const TcpMessage &rhs)
 
virtual ~TcpMessage ()
 
quint32 getLength () const
 
const QByteArray & getMessageData () const
 
virtual quint32 getMessageTypeId () const
 
bool hasBeenFullyRead () const
 
TcpMessageoperator= (const TcpMessage &)
 
void readFrom (QIODevice &)
 
virtual bool readMessageDataFrom (QDataStream &)
 
void writeTo (QIODevice &)
 

Static Public Member Functions

static void configureStream (QDataStream &)
 

Protected Member Functions

virtual void writeMessageDataTo (QDataStream &)
 

Detailed Description

Represents the base class of all network messages. As mentioned in the associated TcpMessageSocketAdapter, network data is read from an underlying QTcpSocket in response to the QTcpSocket's readyRead() signal signalling the availability of data. A "message" sent from a client to a server (or vice-versa) can be a stream of bytes of an undefined length. This data may not arrive at the socket altogether but instead may be delivered over time in 'chunks' by the underlying QTcpSocket. As such, it isn't safe to assume that when readyRead() is emitted, ALL message data is available for reading. The purpose of this class (and the associated QTcpMessageSocketAdapter) is to shield the developer from this by adapting an underlying QTcpSocket to ensure data is buffered until a TcpMessage can be read fully. When creating a new network message, you should derive from this class overriding the readMessageDataFrom() and writeMessageDataTo() methods to provide message-specific reading and writing.

See also
TcpMessageSocketAdapter

Constructor & Destructor Documentation

◆ TcpMessage() [1/2]

Constructs a TcpMessage.

◆ TcpMessage() [2/2]

TcpMessage ( const TcpMessage rhs)

Copy constructor.

◆ ~TcpMessage()

~TcpMessage ( )
virtualdefault

Destructor.

Member Function Documentation

◆ configureStream()

void configureStream ( QDataStream &  stream)
static

Configures the provided stream's version.

Parameters
streamThe stream to configure.

◆ getLength()

quint32 getLength ( ) const

◆ getMessageData()

const QByteArray & getMessageData ( ) const

Returns a reference to the underlying message data that should be passed to your message-specific readMessageDataFrom() for message specific reading.

See also
readMessageDataFrom()

◆ getMessageTypeId()

quint32 getMessageTypeId ( ) const
virtual

◆ hasBeenFullyRead()

bool hasBeenFullyRead ( ) const

Returns true if the TcpMessage has been fully read.

◆ operator=()

TcpMessage & operator= ( const TcpMessage rhs)

Assignment operator.

◆ readFrom()

void readFrom ( QIODevice &  device)

Reads a message either partially (or fully if available) from the underlying device.

◆ readMessageDataFrom()

bool readMessageDataFrom ( QDataStream &  stream)
virtual

◆ writeMessageDataTo()

void writeMessageDataTo ( QDataStream &  stream)
protectedvirtual

◆ writeTo()

void writeTo ( QIODevice &  device)

Writes a TcpMessage to the provided device.