#include <OnixS/FIXEngine/FIX/FlatMessage.h>
Classes | |
class | ConstIterator |
Friends | |
class | MessageOperator |
class | FlatMessageWrapper |
Fields can be accessed using temporary field references and using special keys which remain constant during the lifetime of the single instance.
To access a field, a reference must be obtained using the 'find' member. The 'find' member searches for a field using a regular Tag identifier. If the 'find' succeeds, a temporary reference is returned. That reference can be either used to modify the field or to allocate a key for that field using the 'allocateKey' member. Once the key is allocated it can be used like a tag to quick access the field.
There are pre-allocated keys to access service fields like MsgType, MsgSeqNum, SendingTime, etc.
Definition at line 109 of file FlatMessage.h.
FlatMessage | ( | ) |
Constructs the blank instance.
FlatMessage | ( | OnixS::FIX::ProtocolVersion::Enum | protocolVersion, |
const char * | msgType | ||
) |
Constructs an instance with empty required message header fields.
FlatMessage | ( | const char * | rawMessage, |
size_t | rawMessageSize, | ||
bool | useZeroCopyBuffer = true |
||
) |
Constructs an instance from the tag=value form.
FlatMessage | ( | OnixS::FIX::ProtocolVersion::Enum | protocolVersion, |
const char * | msgType, | ||
const char * | senderCompId, | ||
const char * | targetCompId, | ||
const char * | rawMessageWithoutHeaderTrailer, | ||
size_t | rawMessageWithoutHeaderTrailerSize, | ||
bool | useZeroCopyBuffer = true |
||
) |
Constructs an instance from the tag=value form without session-level fields.
Required fields will be added during the construction.
FlatMessage | ( | const OnixS::FIX::Message & | message, |
bool | useZeroCopyBuffer = true |
||
) |
Constructs an instance from the given Message object.
FlatMessage | ( | const FlatMessage & | other | ) |
Initializes as a copy of the given instance.
~FlatMessage | ( | ) |
Utilizes internal resources.
FlatMessage& add | ( | Tag | , |
const StringRef & | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
Char | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
Int32 | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
UInt32 | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
Int64 | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
UInt64 | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
const Decimal & | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
const Timestamp & | , | ||
TimestampFormat::Enum | |||
) |
Adds the tag/value pair to the end of the message.
FlatMessage& add | ( | Tag | , |
const TimeSpan & | , | ||
TimeSpanFormat::Enum | |||
) |
Adds the tag/value pair to the end of the message.
void adjust | ( | ) |
Updates BodyLength and CheckSum fields.
FlatFieldKey allocateKey | ( | const FlatFieldRef & | ) |
Allocates a key to the requested field for the further access.
FlatFieldKey allocateKey | ( | Tag | ) |
Finds and allocates a key to the requested field for the further access.
ConstIterator begin | ( | ) | const |
Returns the constant iterator to the first field in the FlatMessage instance.
const char* chars | ( | ) | const |
Returns the content of the flat message.
ConstIterator end | ( | ) | const |
Returns the constant iterator to the field after the last one in the FlatMessage instance.
|
inline |
Looks for a field using the given tag number.
Definition at line 511 of file FlatMessage.h.
FlatFieldRef find | ( | Tag | , |
const FlatFieldRef & | |||
) | const |
Looks for a field with assumption the field is located after the given field using its tag number.
The member is suitable to access same fields but from different repeating group instances.
FlatFieldRef getFlatFieldRef | ( | const StringRef & | value | ) | const |
Converts the StringRef value of the given FlatMessage to the FlatFieldRef object.
FlatGroup getGroup | ( | const FlatFieldRef & | numberOfInstancesRef | ) | const |
Returns the reference to a repeating group - if exists.
numberOfInstancesRef | The reference of the field that defines the number of instances in this repeating group (the NoXXX field). |
std::exception | if the given field does not contain the number of instances. |
FlatMessage& insert | ( | Tag | , |
const StringRef & | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
Char | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
Int32 | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
UInt32 | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
Int64 | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
UInt64 | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
const Decimal & | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
const Timestamp & | , | ||
TimestampFormat::Enum | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& insert | ( | Tag | , |
const TimeSpan & | , | ||
TimeSpanFormat::Enum | , | ||
Tag | , | ||
InsertMode::Enum | = InsertMode::Before |
||
) |
Inserts the tag/value pair to the message before or after the position field.
If the position tag is not found, it adds the tag/value pair to the end of the message.
FlatMessage& operator= | ( | const FlatMessage & | ) |
Re-initializes as a copy of the given instance.
StringRef operator[] | ( | const FlatFieldRef & | ) | const |
Provides an access to a field value by the given temporary reference.
StringRef operator[] | ( | FlatFieldKey | ) | const |
Provides an access to a field value by the given field key.
FlatMessage& remove | ( | Tag | ) |
Removes the field value.
Once value is removed, all references to other fields become invalid.
void reset | ( | const char * | rawMessage, |
size_t | rawMessageSize | ||
) |
Resets the instance to the new tag=value form.
void reset | ( | ) |
Resets the instance to the blank state.
FlatMessage& set | ( | FlatFieldRef & | , |
const StringRef & | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
const StringRef & | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
Char | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
Char | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
Int32 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
Int32 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
UInt32 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
UInt32 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
Int64 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
Int64 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
UInt64 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
UInt64 | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
const Decimal & | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
const Decimal & | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
const Timestamp & | , | ||
TimestampFormat::Enum | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
const Timestamp & | , | ||
TimestampFormat::Enum | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
const TimeSpan & | , | ||
TimeSpanFormat::Enum | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
const TimeSpan & | , | ||
TimeSpanFormat::Enum | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldRef & | , |
const FieldValueRef & | |||
) |
Updates the field value.
FlatMessage& set | ( | FlatFieldKey | , |
const FieldValueRef & | |||
) |
Updates the field value.
size_t size | ( | ) | const |
The size of the flat content.
void swap | ( | FlatMessage & | other | ) |
Swaps the content with another instance.
std::string toString | ( | ) | const |
Returns a string that represents the flat message.
void* userData | ( | ) | const |
A user data associated with the message.
void userData | ( | void * | data | ) |
Attaches a user data to the message.
bool valid | ( | ) | const |
Indicates whether an instance refers to a valid set of fields.
If the given instance doesn't refer to a valid fields set, none of other members must be used.
ProtocolVersion::Enum version | ( | ) | const |
|
friend |
Definition at line 499 of file FlatMessage.h.
|
friend |
Definition at line 498 of file FlatMessage.h.