Workspace 6.21.5
|
#include <Workspace/DataExecution/Execution/tcpmessage.h>
Public Member Functions | |
TcpMessage () | |
TcpMessage (const TcpMessage &rhs) | |
virtual | ~TcpMessage () |
quint32 | getLength () const |
const QByteArray & | getMessageData () const |
virtual quint32 | getMessageTypeId () const |
bool | hasBeenFullyRead () const |
TcpMessage & | operator= (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 &) |
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.
TcpMessage | ( | ) |
Constructs a TcpMessage.
TcpMessage | ( | const TcpMessage & | rhs | ) |
Copy constructor.
|
virtualdefault |
Destructor.
|
static |
Configures the provided stream's version.
stream | The stream to configure. |
quint32 getLength | ( | ) | const |
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.
|
virtual |
Returns the message's type identifier.
Reimplemented in AssignGlobalNameMsg, AssignInputMsg, ExecuteMsg, ListMsg, ListResponseMsg, StopExecutionMsg, TerminateMsg, WatchCancelMsg, WatchMsg, WatchUpdatedMsg, WorkspaceErrorMsg, WorkspaceFailedMsg, WorkspaceSuccessMsg, AbortedWorkspaceUpdateMessage, ChangePriorityInQueueWorkspaceMessage, DelayScheduledWorkspaceMessage, FailedToScheduleWorkspaceMessage, FinishedWorkspaceExecutionMessage, FinishedWorkspaceUpdateMessage, HandshakeMessage, HeartbeatMessage, ClientHeartbeatMessage, GetListQueueWorkspaceMessage, GetListAllWorkspaceMessage, GetWorkspaceDetailMessage, WorkspaceDetailMessage, WorkspaceListMessage, ClearWorkspaceHistoryMessage, OperationUpdateEventListMessage, PauseQueueWorkspaceMessage, ResumeQueueWorkspaceMessage, ScheduleWorkspaceExecutionMessage, ServerLoadMessage, StartedWorkspaceExecutionMessage, StartedWorkspaceUpdateMessage, StopWorkspaceExecutionMessage, and WorkspaceLogMessage.
bool hasBeenFullyRead | ( | ) | const |
Returns true if the TcpMessage has been fully read.
TcpMessage & operator= | ( | const TcpMessage & | rhs | ) |
Assignment operator.
void readFrom | ( | QIODevice & | device | ) |
Reads a message either partially (or fully if available) from the underlying device.
|
virtual |
This method should be overridden in TcpMessage derived messages to provide message specific reading.
Reimplemented in AssignMsg, ExecuteMsg, ListMsg, ListResponseMsg, StopExecutionMsg, TerminateMsg, WatchCancelMsg, WatchMsg, WatchUpdatedMsg, WorkspaceErrorMsg, AbortedWorkspaceUpdateMessage, ChangePriorityInQueueWorkspaceMessage, FailedToScheduleWorkspaceMessage, FinishedWorkspaceUpdateMessage, HandshakeMessage, ClientHeartbeatMessage, GetListAllWorkspaceMessage, GetWorkspaceDetailMessage, WorkspaceDetailMessage, WorkspaceListMessage, OperationUpdateEventListMessage, SchedulerTcpMessage, ScheduleWorkspaceExecutionMessage, ServerLoadMessage, WorkspaceLogMessage, WorkspaceTcpMessage, WorkspaceFailedMsg, and WorkspaceSuccessMsg.
|
protectedvirtual |
This method should be overridden in TcpMessage derived messages to provide message specific writing.
Reimplemented in AssignMsg, ExecuteMsg, ListMsg, ListResponseMsg, WatchCancelMsg, WatchMsg, WatchUpdatedMsg, WorkspaceErrorMsg, AbortedWorkspaceUpdateMessage, ChangePriorityInQueueWorkspaceMessage, FailedToScheduleWorkspaceMessage, HandshakeMessage, ClientHeartbeatMessage, GetListAllWorkspaceMessage, GetWorkspaceDetailMessage, WorkspaceDetailMessage, WorkspaceListMessage, OperationUpdateEventListMessage, SchedulerTcpMessage, ScheduleWorkspaceExecutionMessage, ServerLoadMessage, WorkspaceLogMessage, and WorkspaceTcpMessage.
void writeTo | ( | QIODevice & | device | ) |
Writes a TcpMessage to the provided device.