OnixS ICE iMpact Multicast Feed Handler for C++  3.13.0.0
Public Member Functions | Public Attributes | List of all members
MessageInfo Struct Reference

Message info. More...

Public Member Functions

 MessageInfo ()
 Initialize default instance.
 
std::string toString () const
 Returns string representation.
 

Public Attributes

FeedId feedId
 Feed identifier.
 
short sessionNumber
 The session number is used so that a client can easily detect when a new session has started after the daily maintenance window or failure on the server side. More...
 
int blockSequenceNumber
 Sequence number of message block.
 
int numberOfMessages
 Number of messages in message block.
 
int sequenceNumber
 Each message is assigned a sequence number that increases monotonically on the server side. More...
 
DateTime rawSentTime
 Raw timestamp of when the message block is sent. More...
 
Timestamp receiveTime
 Time when the UDP packet was received by Handler.
 
Timestamp originalReceiveTime
 Time when the UDP packet was received by Handler in case of log replay in progress. More...
 
bool isMessageReceivedDuringSnapshot
 Is message received during snapshot?
 
bool isBundled
 Bundle marker. More...
 

Detailed Description

Message info.

Member Data Documentation

bool isBundled

Bundle marker.

This field is true if messages has been received within bundle (see BundleMarker)

Timestamp originalReceiveTime

Time when the UDP packet was received by Handler in case of log replay in progress.

For live data it will be the same as receiveTime.

DateTime rawSentTime

Raw timestamp of when the message block is sent.

It is the number of milliseconds since Jan 1st, 1970, 00:00:00 GMT.

int sequenceNumber

Each message is assigned a sequence number that increases monotonically on the server side.

To save bandwidth, the sequence number is a field in the block header, instead of every message. The sequence number for the first message is used in the header, and the client is expected to derive the sequence numbers for subsequent messages in the block. In the case of a heartbeat which includes only header in the block, the expected next sequence number is used.

short sessionNumber

The session number is used so that a client can easily detect when a new session has started after the daily maintenance window or failure on the server side.

It should stay the same for a given multicast channel until a new session has started. It should be noted that the same number can be used by different multicast channels.