B2BITS FIX Antenna HFT
1.0.17
|
Lightweight FIX message. More...
#include <LiteFixMessage.h>
Classes | |
struct | index_tagloc_t |
Public Types | |
typedef unsigned short | hashtbl_elem_t |
typedef unsigned short | index_elem_t |
typedef unsigned short | index_flags_t |
enum | MISSING_TAG_HANDLING { ADD_IF_NOT_EXISTS, ALWAYS_ADD, DONT_ADD_IF_NOT_EXISTS } |
![]() | |
typedef FieldValueT< TagValue const > const | ConstFieldValue |
typedef FieldValueT< TagValue > | FieldValue |
Public Member Functions | |
void | _add (int tag, int offset, int length) |
void | _clear () |
void | _ensureIndexCapacity () |
void | add (int tag, const char *value, int length) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, const Engine::AsciiString &value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, System::i64 value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, int value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, unsigned value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, System::u64 value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, char value) FLATTEN |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, double value) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, const char *value) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, const ShortStrRef &value) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | add (int tag, const ShortStrRefCtor &value) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
template<int StringLength> | |
void | add (int tag, const ShortStr< StringLength > &value) |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message. More... | |
void | addToHashTbl (int tag, int index) throw () |
void * | allocateBytes (int size) |
void | allocTableData (int new_index_length, int new_hashtbl_length, bool freeOldData) |
int | calculateBodyLength () |
Returns the message body length. More... | |
void | checkFields () const |
not implemented More... | |
void | checkRequired (Parser::Options options) const |
not implemented More... | |
void | checkTagExistsAtIndex (int tagIndex) const FLATTEN |
Ensures that the field exists by the given index. More... | |
void | clear () FLATTEN |
Clears the message. More... | |
void | clearHashTbl () |
void | clearPerFieldStorage () |
Parser::LiteFixMessage * | cloneMessage () const FLATTEN |
Makes an independent copy of the message. More... | |
void | cloneMessage (Engine::FIXMessage *target) const FLATTEN |
Makes an independent copy of the message. More... | |
virtual void | copyTo (Engine::TagValue *dest, int destTag, int srcTag) const |
not implemented More... | |
LiteFixMessage * | deepClone (LiteFixMessage *cloned=NULL) const FLATTEN |
Makes an independent copy of the message. More... | |
void | destroy () |
The message destructor. More... | |
bool | empty () const |
Returns true if the message is empty. More... | |
void | ensureIndexCapacity () |
Makes the message ready to add a new field or throw if it is failed. More... | |
virtual Engine::TagValueEx * | extendTV () throw () |
not implemented More... | |
virtual Engine::TagValueEx const * | extendTV () const throw () |
not implemented More... | |
int | findElementInHashTbl (int tag) const throw () |
int | findIndexEntryInHashTbl (int tag) const throw () |
int | findOrPrepareToAdd (int tag, enum MISSING_TAG_HANDLING addIfNotExists) |
int | findOrPrepareToAdd (int tag) |
int | formatIntLength (System::i64 value) |
bool | get (int tag, char **data, int *length) const FLATTEN throw () |
Reads the field value by the tag. More... | |
bool | get (int tag, char **data, short *length) const FLATTEN throw () |
Reads the field value by the tag. More... | |
bool | get (int tag, const char **data, short *length) const FLATTEN throw () |
Reads the field value by the tag. More... | |
bool | get (int tag, const char **data, int *length) const FLATTEN throw () |
Reads the field value by the tag. More... | |
bool | get (int tag, Engine::FIXFieldValue *value) const FLATTEN |
Reads the field value by the tag. More... | |
Engine::AsciiString | get (int tag) const FLATTEN |
Returns the field value by the tag as AsciiString. More... | |
Engine::FIXVersion | getApplicationVersion () const throw () |
Returns the application version of the message. More... | |
bool | getAsBoolean (int tag) const FLATTEN |
Returns the field value as boolean by the tag. More... | |
char | getAsChar (int tag) const FLATTEN |
Returns the field value as char by the tag. More... | |
Engine::UTCDateOnly | getAsDateOnly (int tag) const |
Returns the field value by the tag as UTCDateOnly. More... | |
Engine::Decimal | getAsDecimal (int tag) const |
not implemented More... | |
double | getAsDouble (int tag) const FLATTEN |
Returns the field value as double by the tag. More... | |
int | getAsInt (int tag) const FLATTEN |
Returns the field value as int by the tag. More... | |
System::i32 | getAsInt32 (int tag) const FLATTEN |
Returns the field value as Int32 by the tag. More... | |
System::i64 | getAsInt64 (int tag) const FLATTEN |
Returns the field value as Int64 by the tag. More... | |
int | getAsInteger (int tag) const FLATTEN |
Returns the field value as int by the tag. More... | |
System::i64 | getAsInteger64 (int tag) const FLATTEN |
Returns the field value as Int64 by the tag. More... | |
Engine::LocalMktDate | getAsLocalMktDate (int tag) const |
Returns the field value by the tag as LocalMktDate. More... | |
Engine::MonthYear | getAsMonthYear (int tag) const |
Returns the field value by the tag as MonthYear. More... | |
Engine::MultipleChar | getAsMultipleChar (int tag) const |
Returns the field value by the tag as MultipleChar. More... | |
Engine::MultipleString | getAsMultipleString (int tag) const |
Returns the field value by the tag as MultipleString. More... | |
Engine::ByteArray | getAsRaw (int tag) const FLATTEN |
Returns the field value by the tag as ByteArray. More... | |
Engine::AsciiString | getAsString (int tag) const FLATTEN |
Returns the field value by the tag as AsciiString. More... | |
Engine::AsciiString | getAsStringValueOrEmpty (int tag) const FLATTEN throw () |
Returns the field value by the tag as AsciiString. More... | |
Engine::UTCTimeOnly | getAsTimeOnly (int tag) const |
Returns the field value by the tag as UTCTimeOnly. More... | |
Engine::UTCTimestamp | getAsTimestamp (int tag) const |
Returns the field value by the tag as UTCTimestamp. More... | |
Engine::UTCTimestamp | getAsTimestampi (int tag) const |
Returns the field value by the tag as UTCTimestamp. More... | |
unsigned int | getAsUInt (int tag) const FLATTEN |
Returns the field value by the tag as UInt or throws the Utils::Exception. More... | |
System::u32 | getAsUInt32 (int tag) const FLATTEN |
Returns the field value by the tag as UInt32 or throws the Utils::Exception. More... | |
System::u64 | getAsUInt64 (int tag) const FLATTEN |
Returns the field value as UInt64 by the tag. More... | |
virtual const char * | getBuffer (int *size, Engine::SecurityAttributes *sa=NULL) const FLATTEN |
const char * | getBuffer (Utils::RawBuffer *rawFixMsg, int *size, bool calcCsum) |
unsigned | getChecksum (char *bytes, int length) |
virtual Engine::FixFieldsContainer * | getFields () const |
not implemented More... | |
char * | getFieldStorage (int i) const throw () |
char * | getFieldStorage_canthrow (int i) const |
virtual Engine::FIXGroup const * | getGroup (int tag) const |
not implemented More... | |
virtual Engine::FIXGroup * | getGroup (int tag) |
not implemented More... | |
int | getHeartBeatInterval () const FLATTEN |
Returns the heartbeat interval. More... | |
bool | geti (int tag, Engine::FIXFieldValue *value) const FLATTEN |
Reads the field value by the tag. More... | |
int | getIndexCount () const throw () |
Returns the number of fields in the message (including removed fields) More... | |
int | getLastTagIndex () const |
Returns the field index of the last field. More... | |
int | getMaxAvailInPlace (int i) const throw () |
char * | getMessageBuffer (int *size) |
const char * | getMessageBuffer (int *size) const |
char * | getOrigBuffer () throw () |
const char * | getOrigBuffer () const throw () |
int | getOrigBufferLength () const throw () |
int | getRawLength () const |
int | getRawTagLengthFromPreviousField () |
bool | getRawTagLengthFromPreviousField (const char *&buf, int pos, int tag, ParseError &error) |
Engine::AsciiString | getSenderCompID () const FLATTEN |
Returns the message sender. More... | |
int | getSeqNum () const FLATTEN |
Returns the sequence number of the message. More... | |
Engine::FIXVersion | getSessionVersion () const throw () |
Returns the session version of the message. More... | |
void | getTag_canthrow (int tag, char **data, int *length) const FLATTEN |
Reads the field value by the tag. More... | |
bool | getTagAsBool (int tag) const |
Returns the field value as boolean by the tag. More... | |
bool | getTagAsBool (int tag, int occurrence) const |
Returns the field value of the Nth tag as boolean. More... | |
bool | getTagAsBool_nothrow (int tag, bool *value) const throw () |
Reads the field value as boolean by the tag. More... | |
bool | getTagAsBoolAtIndex (int tagIndex) const |
Returns the field value as boolean by the index. More... | |
double | getTagAsFloat (int tag) const |
Returns the field value as double by the tag. More... | |
double | getTagAsFloat (int tag, int occurrence) const |
Returns the field value of the Nth tag as double. More... | |
double | getTagAsFloatAtIndex (int tagIndex) const |
Returns the field value as double by the index. More... | |
System::i64 | getTagAsInt (int tag) const FLATTEN |
Returns the field value as System::i64 by the tag. More... | |
bool | getTagAsInt (int tag, System::i64 *value) const FLATTEN throw () |
Reads the field value as System::i64. More... | |
bool | getTagAsInt (int tag, int *value) const FLATTEN throw () |
Reads the field value as int. More... | |
bool | getTagAsInt (int tag, System::i64 *value, int *end) const FLATTEN throw () |
System::i64 | getTagAsIntAtIndex (int tagIndex) const FLATTEN |
Returns the field value as System::i64. More... | |
bool | getTagAsIntAtIndex (int tagIndex, System::i64 *value) const FLATTEN throw () |
Reads the field value as System::i64. More... | |
bool | getTagAsIntAtIndex (int tagIndex, int *value) const FLATTEN throw () |
Reads the field value as int. More... | |
Engine::AsciiString | getTagAsString (int tag, int occurrence) const FLATTEN |
Returns the field value of the Nth tag as AsciiString or the empty string. More... | |
Engine::AsciiString | getTagAsStringAtIndex (int tagIndex) const FLATTEN throw () |
Returns the field value as AsciiString by the index or the empty string. More... | |
bool | getTagAtIndex (int tagIndex, const char **data, int *length) const FLATTEN throw () |
Reads the field value by the index. More... | |
bool | getTagAtIndex (int tagIndex, int *tag, const char **data, int *length) const FLATTEN throw () |
Reads the field tag and the value by the index. More... | |
bool | getTagAtIndex (int tagIndex, Engine::FIXFieldValue *v) const FLATTEN throw () |
Reads the field value by the index. More... | |
int | getTagBytesLength (int tag) const |
int | getTagCount () const |
Returns the number of the fields in the message. More... | |
int | getTagIndex (int tag) const FLATTEN |
Returns the field index by the tag or NOTFOUND. More... | |
int | getTagIndex (int tag, int fromIndex) const FLATTEN |
Returns the field index in the specified range by the tag or NOTFOUND. More... | |
int | getTagIndex (int tag, int fromIndex, int toIndex) const FLATTEN |
Returns the field index in the specified range by the tag or NOTFOUND. More... | |
int | getTagLength (int tag) const throw () |
Returns the length of the field value. More... | |
int | getTagLength (int tag, char **data) throw () |
Returns the length of the field value. More... | |
int | getTagLengthAtIndex (int tagIndex) const throw () |
Returns the field value length by the index or NOTFOUND. More... | |
int | getTagNumAtIndex (int tagIndex) const |
Returns the field tag by the index. More... | |
int | getTagOccurrenceCount (int tag) const |
Returns the number of fields with the given tag in the message. More... | |
int | getTagOccurrenceIndex (int tag, int occurrence) const |
Returns the field index of the Nth tag. More... | |
Engine::AsciiString | getTargetCompID () const FLATTEN |
Returns the message target. More... | |
Engine::FIXVersion | getVer () const throw () |
Returns the version of the message. More... | |
bool | hasFlag (int tag) const FLATTEN |
Returns true if the message contains the boolean field with 'true' value. More... | |
bool | hasFlagi (int tag) const FLATTEN |
Returns true if the message contains the boolean field with 'true' value. More... | |
bool | hasTag (int tag) const FLATTEN |
Returns true if the message contains the field. More... | |
bool | hasValue (int tag) const FLATTEN |
Returns true if the field contains a value. More... | |
std::string | i2str (int i) const throw () |
void | indexGarbageCollect () |
void | init (int fields) |
The message constructor. More... | |
void | init (int new_index_length, int new_hashtbl_length) |
The message constructor. More... | |
void | invalidatePerFieldStorage (int tagIndex) |
void | invalidatePerFieldStorage (Utils::RawBuffer **perFieldStoragePtr) |
bool | isAdministrativeMsg () const FLATTEN throw () |
Returns true if the message is administrative. More... | |
bool | isArenaStorage (int i) const throw () |
bool | isBusinessMsgRejectMsg () const FLATTEN throw () |
Returns true if the message is business reject. More... | |
bool | isEmpty (int tag) const FLATTEN |
Returns true if the field is empty/doesn't exist. More... | |
bool | isEqual (int tag, Engine::TagValue const *rv, int rvTag) const |
Compares fields in the message and in the other TagValue. More... | |
bool | isExcludeTag (int tag, int *tags, int tags_length) |
bool | isFull () const throw () |
Returns true if the message contains maximum number of fields so the next addition will require the message rebuilding. More... | |
virtual bool | isLiteMessage () const |
Returns true if actual type of the message instance is LiteFixMessage. More... | |
bool | isMessageBufferContinuous () const |
Returns true if the message buffer is continuous. More... | |
bool | isOriginal () const FLATTEN |
Returns true if the message is not duplicate. More... | |
bool | isOriginalMessageStorage (int i) const throw () |
bool | isPerFieldStorage (int i) const throw () |
bool | isPreparedMessage () const throw () |
bool | isRemoved (int index_offset) const throw () |
bool | isSessionLevelRejectMsg () const FLATTEN throw () |
Returns true if the message is session reject. More... | |
bool | isSupported (int tag) const throw () |
Returns true if the tag is supported in the message. More... | |
bool | isTagExistsAtIndex (int tagIndex) const FLATTEN throw () |
Returns true if the field exists by the given index otherwise false. More... | |
LiteFixMessage () | |
Creates an empty message. More... | |
LiteFixMessage (int initialFieldCount) | |
Creates an empty message with custom initial message capacity of fields. More... | |
void | makeStandalone () |
Makes the message independent of the external message buffer. More... | |
void | move_and_wipe (Utils::RawBuffer **dst, Utils::RawBuffer **src, int count, int &hashtbl_remain_capacity) |
Utils::RawBuffer * | newPerFieldStorage () const |
Utils::RawBuffer * | newStorageForEntry (int tagIndex, int length) |
void | parse (const char *message, int messageLength, bool clearTheMessageBeforeUse=true, bool makeStandalone=false, Engine::FIXTagVisitor *callback=NULL) FLATTEN |
Parses the input buffer and fills the existing LiteFixMessage with tags. More... | |
void | parse (const char *message) |
Parses the ASCIIz string and fills the existing LiteFixMessage with tags. More... | |
void | parse (const std::string &message) |
Parses the string and fills the existing LiteFixMessage with tags. More... | |
int | parseSome (const char *buf, int len, int *offset, bool clearTheMessageBeforeUse, bool isMakeStandalone, Engine::FIXTagVisitor *callback, ParseError &error) |
Parses one message from the input buffer and fills the existing LiteFixMessage with tags. More... | |
int | perFieldStorage_length () const |
Returns the message capacity of fields. More... | |
int | perFieldStorage_length (int index_length) const |
void | prepareContinuousBuffer () |
Prepares an independent continuous message buffer. More... | |
bool | prepareCopyInPlace (int i, int oldLen, int length) const throw () |
int | prepareToAddToStorage (int tag, int length) |
Engine::ProtocolID | protocolID () const throw () |
Returns the ProtocolID of the message. More... | |
void | rehashHashtable (bool clearTable) |
virtual void | release () const |
Destroys the message. More... | |
virtual void | release () |
Releases FIX message instance. More... | |
bool | remove (int tag) FLATTEN |
Removes the field from the message. More... | |
void | remove (const std::set< int > &tags) FLATTEN |
Removes fields from the message by the tags. More... | |
bool | removeTag (int tag) |
Removes the field from the message. More... | |
void | removeTagAtIndex (int i) |
Removes the field from the message. More... | |
void | removeTags (const int *tags, int count) |
Removes fields from the message. More... | |
virtual void | reserve (int tag, Engine::PreparedFieldIndex index, std::size_t size) |
not implemented More... | |
bool | reserveBytes (int size) |
const char * | serializeWithExisitingHeaderAndTrailer (Utils::RawBuffer &buf, int *size, bool tryReuseExistingBuffer) FLATTEN |
void | set (int tag, const char *value, int length) FLATTEN |
Inserts or updates the existing field in the message. More... | |
bool | set (int tag, Engine::FIXFieldValue const &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::AsciiString value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, const ShortStrRef &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, const ShortStrRefCtor &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
template<int StringLength> | |
bool | set (int tag, const ShortStr< StringLength > &value) |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, char const *value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, const std::string &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::MonthYear value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::LocalMktDate value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::UTCDateOnly value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::UTCTimeOnly value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, Engine::UTCTimestamp value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, System::i32 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, System::u32 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, System::i64 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, System::u64 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, double value) FLATTEN |
Inserts or updates the existing field in the message. More... | |
bool | set (int tag, Engine::Decimal value) FLATTEN |
Inserts or updates the existing field in the message. More... | |
bool | set (int tag, Engine::ByteArray value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, char value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, bool value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, const Engine::MultipleString &value) |
Inserts or updates the field value by the tag. More... | |
bool | set (int tag, const Engine::MultipleChar &value) |
Inserts or updates the field value by the tag. More... | |
void | set_double (int tag, double value) |
Inserts or updates the existing field in the message. More... | |
void | setAtIndex (int tagIndex, System::i64 value) FLATTEN |
Updates the field value. More... | |
void | setAtIndex (int tagIndex, double value) |
Updates the field value. More... | |
void | setAtIndex (int tagIndex, const char *value, int length) FLATTEN |
Updates the field value. More... | |
void | setBuffer (char *buf, int length) throw () |
bool | setHeartBeatInterval (int hbi) FLATTEN |
Sets the heartbeat interval. More... | |
bool | seti (int tag, Engine::FIXFieldValue const &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, const Engine::AsciiString &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, char const *value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, const std::string &value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, Engine::UTCTimestamp value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, System::i32 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, System::u32 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, System::u64 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, System::i64 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, double value) FLATTEN |
Inserts or updates the existing field in the message. More... | |
bool | seti (int tag, char value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | seti (int tag, bool value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
void | setIsPreparedMessage (bool isPreparedMessage) throw () |
void | setMaxAvailInPlace (int i, int length) throw () |
bool | setNoPadding (int tag, System::u64 value) FLATTEN |
Inserts or updates the field value by the tag. More... | |
bool | setOrClear (int tag, const Engine::AsciiString &value) FLATTEN |
Sets a new value to the field or removes the field if the value is empty. More... | |
bool | setOrClear (int tag, const std::string &value) FLATTEN |
Sets a new value to the field or removes the field if the value is empty. More... | |
void | setSenderCompID (Engine::AsciiString senderCompID) FLATTEN |
Sets the message sender. More... | |
void | setSenderCompIDi (Engine::AsciiString senderCompID) FLATTEN |
Sets the message sender. More... | |
bool | setSeqNum (int msgSeqNum) FLATTEN |
Sets the message sequence number. More... | |
void | setTagAtIndex (int tagIndex, const char *value, int length) FLATTEN |
Sets the field value by the index. More... | |
void | setTagLength (int tag, int newPadWidth) |
Sets the new length of the existing field value. More... | |
void | setTargetCompID (Engine::AsciiString targetCompID) FLATTEN |
Sets the message target. More... | |
void | setTargetCompIDi (Engine::AsciiString targetCompID) FLATTEN |
Sets the message target. More... | |
bool | tagExists (int tag) const FLATTEN throw () |
Returns true if the tag is found in the message. More... | |
void | throwParserError (const char *reason, int tag=0) |
int | toByteArrayAndReturnNextPosition (char *dst, int i, int tagIndex) const FLATTEN |
int | toByteArrayAndReturnNextPosition (char *dst, int offset) const FLATTEN |
int | toByteArrayAndReturnNextPosition (char *dst, int offset, int *excludedFields, int excludedFields_length) FLATTEN |
const char * | toRaw (Utils::RawBuffer &buf, int *size, bool tryReuseExistingBuffer, bool doSelfCheck=true) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (Engine::SecurityAttributes *sa, int *size) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (int *size, bool tryReuseExistingBuffer) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (int *size) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (Engine::SecurityAttributes *sa, Utils::RawBuffer *rawFixMsg, int *size) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (Engine::SecurityAttributes *sa, Utils::RawBuffer *rawFixMsg, int *size, bool calculateCRC) const FLATTEN |
Serializes the message. More... | |
const char * | toRaw (Utils::RawBuffer *rawFixMsg, int *size) const |
Serializes the message. More... | |
const std::string * | toString (char substChar) const |
Serializes the message to the internal string. More... | |
Engine::AsciiString | type () const FLATTEN throw () |
Returns the message type. More... | |
void | updateCheckSum (char *byteArray, int length) |
void | updateCheckSum () |
Updates the checksum in the original message buffer. More... | |
bool | updateValue (int tag, const char *value, int length, MISSING_TAG_HANDLING addIfNotExists) FLATTEN |
bool | updateValue (int tag, const char *value, int length) FLATTEN |
bool | updateValue (int tag, System::i64 value, MISSING_TAG_HANDLING addIfNotExists) FLATTEN |
bool | updateValue (int tag, System::i64 value) FLATTEN |
void | updateValueAtIndex (int tagIndex, const char *value, int length) FLATTEN |
void | updateValueAtIndex (int tagIndex, System::i64 value) |
void | updateValueAtIndexNoPadding (int tagIndex, System::i64 value) |
bool | updateValueNoPadding (int tag, System::i64 value) FLATTEN |
void | visit (Engine::FIXTagVisitor *callback) |
Invokes the visitor callback for all fields in the message. More... | |
int | whichTagAtIndex (int tagIndex) const |
Returns the field tag by the index. More... | |
virtual void | write (int tag, std::ostream &stream) const |
not implemented More... | |
~LiteFixMessage () | |
The message destructor. More... | |
![]() | |
virtual FIXMessageEx * | extend () throw () |
Returns extended interface of FIXMessage. More... | |
virtual FIXMessageEx const * | extend () const throw () |
Returns extended interface of FIXMessage. More... | |
FIXMessage () | |
Constructor. More... | |
virtual const char * | getBuffer (int *size, SecurityAttributes *sa=NULL) const =0 |
Returns a pointer to the internal message buffer that contains raw form (native FIX format) of the message. More... | |
System::u64 | getNanosTimestamp () |
Returns timestamp in nanoseconds set up to the message instance. More... | |
System::u64 | getUserData2 () const |
Returns user data attached to the message instance. More... | |
System::u64 * | getUserData2Ptr () |
Returns pointer to user data attached to the message instance. More... | |
void | operator delete (void *obj) |
Overloaded delete operator. More... | |
void * | operator new (std::size_t size) |
Overloaded new operator. More... | |
void | setElem (Engine::FIXMessageElem *elem) |
Sets pointer to owner. More... | |
void | setElem (Engine::MsgPipeElem *elem) |
Sets pointer to owner. More... | |
void | setNanosTimestamp (System::u64 timestampNanos) |
Sets timestamp in nanoseconds to the message instance. More... | |
void | setSender (const std::string &senderCompID) |
Sets user data associated with the message, the data is stored on disk together with the message and will be available even after an application restart. More... | |
void | setTarget (const std::string &targetCompID) |
Returns the TargetCompID field. More... | |
void | setUserData2 (System::u64 userData) |
Attaches the user data to the message instance. More... | |
virtual const char * | toRaw (SecurityAttributes *sa, Utils::RawBuffer *rawFixMsg, int *size) const =0 |
Serializes message. More... | |
virtual const char * | toRaw (SecurityAttributes *sa, Utils::RawBuffer *rawFixMsg, int *size, bool calculateCRC) const =0 |
Serializes message. More... | |
virtual | ~FIXMessage () |
Destructor. More... | |
![]() | |
FIXGroup & | getAsGroup (int tag) |
Returns the repeating group instance found by the leading field tag number. More... | |
FIXGroup const & | getAsGroup (int tag) const |
Returns the repeating group instance found by the leading field tag number. More... | |
ConstFieldValue | getField (int tag) const |
Returns value of the field specified by tag. More... | |
FieldValue | getField (int tag) |
Returns value of the field specified by tag. More... | |
bool | hasValue (int tag) const |
Returns true if value is defined; false otherwise. More... | |
bool | set (int tag, char const *value) |
Updates field value by tag number. More... | |
TagValue () | |
Constructor. More... | |
![]() | |
FIXMessageEx () | |
The constructor. More... | |
System::u64 | generateNewGlobalId () |
Generates the new globalMsgID for the message. More... | |
void | generateNewGlobalIdBeforeSend () |
Generates a new globalMsgID for the message before message is sent. More... | |
bool | getBinaryData (const char *&buffer, size_t &dataSize) const |
This function can be used to get original binary data of the message if it is applicable for the message and session in context. More... | |
const PersistentData & | getPersistentData () const |
Returns the persistent data from the message. More... | |
PersistentData & | getPersistentData () |
Returns the persistent data from the message. More... | |
const PersistentUserData & | getPersistentUserData () const |
Returns the user part of the persistent data from the message. More... | |
PersistentUserData & | getPersistentUserData () |
Returns the user part of the persistent data from the message. More... | |
System::u64 | getTimestamp () |
Returns the sending/receiving timestamp. More... | |
void * | getUserData () const |
Returns user data attached to the message instance. More... | |
bool | isFromGapQueue () const |
Checks whether the message is from gap(out-of-sequence) queue. More... | |
bool | needNewGlobIDBeforeSend () |
Returns true if the message is configured to generate a new globalMsgID for the message before the message is sent. More... | |
void | setNeedNewGlobIDBeforeSend (bool enable) |
Configures the message to generate a new globalMsgID for the message before the message is sent or to skip the generation. More... | |
const void | setPersistentData (const PersistentData &persistentData) |
Sets the persistent data to the message. More... | |
void | setPersistentUserData (const PersistentUserData &userData) |
Sets the user part of the persistent data to the message. More... | |
void | setTimestamp (System::u64 timestampUsec) |
Sets the sending/receiving timestamp. More... | |
void | setUserData (void *userData) |
Attaches the user data to the message instance. More... | |
Static Public Member Functions | |
static int | formatInt (System::i64 value, char *buffer) throw () |
static int | formatIntLengthWithPadding (System::i64 value, int padLength) throw () |
static int | formatIntWithPadding (System::i64 value, int padLength, char *buffer) throw () |
static int | formatUIntWithPadding (System::u64 value, int padLength, char *buffer) throw () |
static bool | parseBoolean (const char *buffer, int count) |
static bool | parseBoolean_nothrow (const char *buffer, int count) throw () |
static double | parseFloat (const char *buffer, int count) |
static System::i64 | parseInt (const char *buffer, int count) |
static bool | parseInt (const char *buffer, int count, System::i64 *valueRet) throw () |
![]() | |
static void | release (FIXMessage const *msg) |
Releases FIX message instance. More... | |
![]() | |
static void | release (TagValue const *obj) |
Releases assigned resources. More... | |
![]() | |
static System::u64 | getCurrGlobalMsgId () |
Returns the last generated GlobalMsgId. More... | |
static void | seedGlobalMsgId (System::u64 globalMsgId) |
Initializes the global GlobalMsgId generator with the new start value. More... | |
Public Attributes | |
Utils::RawBuffer | arenaStorage |
short | fieldCount |
bool | hasAdjustedTags_ = false |
hashtbl_elem_t * | hashtbl |
hashtbl_elem_t * | hashtbl_index |
short | hashtbl_length |
short | hashtblElems |
index_elem_t * | index |
index_flags_t * | index_flags |
short | index_length |
index_tagloc_t * | index_tagloc |
char * | origBuffer |
short | origBufLength |
Utils::RawBuffer ** | perFieldStorage |
Utils::RawBuffer | rawFixMsg_ |
std::string | stringMsg_ |
![]() | |
union { | |
FIXMessageElem * elem1 | |
Pointer to owner if owner is FIXMessageElem. More... | |
MsgPipeElem * elem2 | |
Pointer to owner if owner is MsgPipeElem. More... | |
}; | |
Pointer to owner. More... | |
struct { | |
char isElemType1_:1 | |
if owner is FIXMessageElem flag More... | |
}; | |
flags bitfields struct More... | |
System::u64 | timestampNanos_ |
Timestamp in nanoseconds field. More... | |
System::u64 | userData2_ |
User data field. More... | |
![]() | |
EngineTagData * | engineTagData_ |
This data field is used by the engine internaly, don't process or use it!. More... | |
bool | isFromGapQueue_ |
Flag indicating whatever this message is from gap(out-of-sequence) queue. More... | |
uint64_t | measuredLatency_ |
This data field is used to measure latency. More... | |
bool | needNewGlobIDBeforeSend_ |
The Generate-a-new-globalMsgID flag. More... | |
PersistentData | persistentData_ |
The persistent data assigned to the message instance. More... | |
System::u64 | timestampNanos_ |
The sending/receiving timestamp. More... | |
void * | userData_ |
The user data field. More... | |
Additional Inherited Members | |
![]() | |
virtual | ~TagValue () |
Destructor. More... | |
Lightweight FIX message.
typedef unsigned short Parser::LiteFixMessage::hashtbl_elem_t |
typedef unsigned short Parser::LiteFixMessage::index_elem_t |
typedef unsigned short Parser::LiteFixMessage::index_flags_t |
Parser::LiteFixMessage::LiteFixMessage | ( | ) |
Creates an empty message.
Parser::LiteFixMessage::LiteFixMessage | ( | int | initialFieldCount | ) |
Creates an empty message with custom initial message capacity of fields.
initialFieldCount | initial message capacity of fields, 0 means default |
Parser::LiteFixMessage::~LiteFixMessage | ( | ) |
The message destructor.
|
inline |
void Parser::LiteFixMessage::_clear | ( | ) |
void Parser::LiteFixMessage::_ensureIndexCapacity | ( | ) |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
length | the length of the field value |
References Utils::RawBuffer::append().
Referenced by binToFix_DATA(), binToFix_Decimal32NULL(), binToFix_Decimal64NULL(), binToFix_DecimalType(), binToFix_DecimalTypeOptional(), binToFix_MaturityMonthYear(), binToFix_PRICE9(), binToFix_PRICENULL9(), binToFix_TimeType(), binToFix_TimeTypeOptional(), binToFix_VarDataType(), fix_algo::CmiFixConverter::convertAppMsgToFix(), fix_algo::copyTagGroup(), B3::fieldToFix(), ILink3V5::fieldToFix(), ILink3V7::fieldToFix(), ILink3::fieldToFix(), fix_algo::mapClordIdToFix(), fix_algo::mapCoverageToFix(), fix_algo::mapOrigClordIdToFix(), fix_algo::mapPositionEffectToFix(), fix_algo::mapSideToFix(), fix_algo::mapSymbolToFix(), and fix_algo::reorderSMHForMiax().
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
References ShortStrRef::data_, and ShortStrRef::length_.
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
References ShortStrRefCtor::data_, and ShortStrRefCtor::length_.
|
inline |
Appends the field to the message, makes the field searchable by the tag if this is the first field with such tag value in the message.
tag | the tag of the field |
value | the value of the field |
References ShortStr< StringLength >::data_, and ShortStr< StringLength >::length_.
|
inline |
void* Parser::LiteFixMessage::allocateBytes | ( | int | size | ) |
|
inline |
|
inline |
Returns the message body length.
|
inlinevirtual |
not implemented
Implements Engine::FIXMessage.
|
inlinevirtual |
not implemented
Implements Engine::FIXMessage.
|
inline |
Ensures that the field exists by the given index.
tagIndex | the index of the field |
Utils::Exception | if the field doesn't exist |
References Utils::i2str().
void Parser::LiteFixMessage::clear | ( | ) |
Clears the message.
Referenced by Parser::AutoClearLiteMessage::_clear(), B3::binToFix(), ILink3V5::binToFix(), ILink3V7::binToFix(), ILink3::binToFix(), CMI::convertAppMsgToFix(), fix_algo::CmiFixConverter::convertAppMsgToFix(), CMI::convertSessionLevelMsgToFix(), and Engine::MsgPipeElem::returnObj().
|
inline |
|
inline |
|
virtual |
Makes an independent copy of the message.
Implements Engine::FIXMessage.
Referenced by fix_algo::reorderSMHForMiax().
void Parser::LiteFixMessage::cloneMessage | ( | Engine::FIXMessage * | target | ) | const |
Makes an independent copy of the message.
target | the destination message to clone to, must be a LiteFixMessage |
|
virtual |
not implemented
Implements Engine::TagValue.
|
inline |
Makes an independent copy of the message.
cloned | the optional parameter for the destination message to clone to, if NULL, the destination message will be created on the heap |
void Parser::LiteFixMessage::destroy | ( | ) |
The message destructor.
|
inline |
Returns true if the message is empty.
|
inline |
Makes the message ready to add a new field or throw if it is failed.
|
virtual |
not implemented
Implements Engine::TagValue.
|
virtual |
not implemented
Implements Engine::TagValue.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by fix_algo::mapClordIdToFix(), and fix_algo::mapOrigClordIdToFix().
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), fix_algo::copyTag(), fix_algo::fill_reject(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fill_ucxl(), fix_algo::fillStreetCancel(), fix_algo::getGTCPersistedProps(), fix_algo::getOrderId37(), getPrice(), getQty(), fix_algo::isMLEG167(), CmiProductCatalog::isSymbolClassDefMessage(), fix_algo::mapClordIdToCmi(), fix_algo::mapContingencyToCmi(), fix_algo::mapCoverageToCmi(), fix_algo::mapOrderId17ToCmi(), fix_algo::mapOrigClordIdToCmi(), fix_algo::mapOriginToCmi(), fix_algo::mapPositionEffectToCmi(), fix_algo::mapPositionEffectToFix(), fix_algo::mapPriceToCmi(), fix_algo::mapSideToCmi(), fix_algo::mapSymbolToCmi(), and fix_algo::mapTradedPriceQtyToCmi().
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
|
inlinevirtual |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | value | the value of the field |
Implements Engine::TagValue.
|
inline |
Returns the field value by the tag as AsciiString.
|
inlinevirtual |
Returns the application version of the message.
Implements Engine::FIXMessage.
|
inlinevirtual |
Returns the field value as boolean by the tag.
tag | the tag of the field |
Utils::Exception | if the field is not found or is not a boolean |
Implements Engine::TagValue.
Referenced by fixToBin_BidirectionalBusinessHeader(), fixToBin_OutboundBusinessHeader(), and fix_algo::getGTCPersistedProps().
|
inlinevirtual |
Returns the field value as char by the tag.
Implements Engine::TagValue.
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), and fix_algo::mapPriceToCmi().
|
inlinevirtual |
Returns the field value by the tag as UTCDateOnly.
Implements Engine::TagValue.
References Engine::UTCDateOnly::fromFixString().
|
inlinevirtual |
not implemented
Implements Engine::TagValue.
|
inlinevirtual |
Returns the field value as double by the tag.
Implements Engine::TagValue.
|
inlinevirtual |
Returns the field value as int by the tag.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
|
inlinevirtual |
Returns the field value as Int32 by the tag.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
|
inlinevirtual |
Returns the field value as Int64 by the tag.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
|
inline |
Returns the field value as int by the tag.
References fix_algo::getTagAsInt().
|
inline |
Returns the field value as Int64 by the tag.
References fix_algo::getTagAsInt().
|
inlinevirtual |
Returns the field value by the tag as LocalMktDate.
Implements Engine::TagValue.
References Engine::LocalMktDate::fromFixString().
|
inlinevirtual |
Returns the field value by the tag as MonthYear.
Implements Engine::TagValue.
References Engine::MonthYear::fromFixString().
|
virtual |
Returns the field value by the tag as MultipleChar.
Implements Engine::TagValue.
|
virtual |
Returns the field value by the tag as MultipleString.
Implements Engine::TagValue.
|
inlinevirtual |
Returns the field value by the tag as ByteArray.
Implements Engine::TagValue.
|
inlinevirtual |
Returns the field value by the tag as AsciiString.
Implements Engine::TagValue.
Referenced by CMI::convertAppMsgToBinary(), CMI::convertSessionLevelMsgToBinary(), fix_algo::fill_reply_8_complex(), and fix_algo::fill_reply_8_cross().
|
inline |
Returns the field value by the tag as AsciiString.
Referenced by B3::createMessage(), ILink3V5::createMessage(), ILink3V7::createMessage(), and ILink3::createMessage().
|
inlinevirtual |
Returns the field value by the tag as UTCTimeOnly.
Implements Engine::TagValue.
References Engine::UTCTimeOnly::fromFixString().
|
inlinevirtual |
Returns the field value by the tag as UTCTimestamp.
Implements Engine::TagValue.
References Engine::UTCTimestamp::fromFixString().
Referenced by CMI::convertSessionLevelMsgToBinary(), CMI::convertToHeartbeat(), and fix_algo::mapTransactTimeToCmi().
|
inline |
Returns the field value by the tag as UTCTimestamp.
References Engine::UTCTimestamp::fromFixString().
|
inlinevirtual |
Returns the field value by the tag as UInt or throws the Utils::Exception.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
Referenced by fixToBin_BidirectionalBusinessHeader(), and fixToBin_InboundBusinessHeader().
|
inlinevirtual |
Returns the field value by the tag as UInt32 or throws the Utils::Exception.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), CMI::convertSessionLevelMsgToBinary(), CMI::convertToHeartbeat(), fixToBin_BidirectionalBusinessHeader(), fixToBin_InboundBusinessHeader(), fixToBin_OutboundBusinessHeader(), fix_algo::mapERQtyToCmi(), and fix_algo::mapFillERQtyToCmi().
|
inlinevirtual |
Returns the field value as UInt64 by the tag.
Implements Engine::TagValue.
References fix_algo::getTagAsInt().
Referenced by fixToBin_BidirectionalBusinessHeader(), fixToBin_InboundBusinessHeader(), fixToBin_OutboundBusinessHeader(), and fix_algo::getGTCPersistedProps().
|
virtual |
const char* Parser::LiteFixMessage::getBuffer | ( | Utils::RawBuffer * | rawFixMsg, |
int * | size, | ||
bool | calcCsum | ||
) |
|
inline |
|
virtual |
not implemented
Implements Engine::TagValue.
|
inline |
|
inline |
References unlikely().
|
virtual |
not implemented
Implements Engine::TagValue.
|
virtual |
not implemented
Implements Engine::TagValue.
|
inlinevirtual |
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | value | the value of the field |
|
inline |
Returns the number of fields in the message (including removed fields)
Referenced by fix_algo::copyTagGroup(), and fix_algo::reorderSMHForMiax().
|
inline |
Returns the field index of the last field.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
int Parser::LiteFixMessage::getRawTagLengthFromPreviousField | ( | ) |
bool Parser::LiteFixMessage::getRawTagLengthFromPreviousField | ( | const char *& | buf, |
int | pos, | ||
int | tag, | ||
ParseError & | error | ||
) |
|
inlinevirtual |
|
inlinevirtual |
Returns the sequence number of the message.
Implements Engine::FIXMessage.
References FIXFields::MsgSeqNum.
|
inlinevirtual |
Returns the session version of the message.
Implements Engine::FIXMessage.
References Engine::FIX42.
|
inline |
Reads the field value by the tag.
tag | the tag of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
Utils::Exception | if the field is not found |
References Utils::i2str().
|
inline |
Returns the field value as boolean by the tag.
tag | the tag of the field |
Utils::Exception | if the field is not found or is not a boolean |
References Utils::i2str().
|
inline |
Returns the field value of the Nth tag as boolean.
tag | the tag of the field |
occurrence | the position of the field in the sequence of fields with the given tag |
Utils::Exception | if the field is not found or is not a boolean |
References Utils::i2str().
|
inline |
Reads the field value as boolean by the tag.
tag | the tag of the field |
References unlikely().
|
inline |
Returns the field value as boolean by the index.
tagIndex | the index of the field |
Utils::Exception | if the field is not found or is not a boolean |
|
inline |
Returns the field value as double by the tag.
tag | the tag of the field |
Utils::Exception | if the field is not found or is not a number |
References Utils::i2str().
|
inline |
Returns the field value of the Nth tag as double.
tag | the tag of the field |
occurrence | the position of the field in the sequence of fields with the given tag |
Utils::Exception | if the field is not found or is not a number |
References Utils::i2str().
|
inline |
Returns the field value as double by the index.
tagIndex | the index of the field |
Utils::Exception | if the field is not found or is not a number |
|
inline |
Returns the field value as System::i64 by the tag.
References Utils::i2str().
Referenced by fix_algo::mapERQtyToCmi(), and fix_algo::mapFillERQtyToCmi().
|
inline |
Reads the field value as System::i64.
tag | the tag of the field | |
[out] | value | the field value |
References unlikely().
|
inline |
Reads the field value as int.
tag | the tag of the field | |
[out] | value | the field value |
References unlikely().
|
inline |
References unlikely().
|
inline |
Returns the field value as System::i64.
tagIndex | the index of the field |
Utils::Exception | if the field is not found or is not a number |
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fillStreetCancel(), fixToBin_TimeType(), fixToBin_TimeTypeOptional(), B3::fixToField(), ILink3V5::fixToField(), ILink3V7::fixToField(), ILink3::fixToField(), and fix_algo::getTagAsInt().
|
inline |
Reads the field value as System::i64.
tagIndex | the index of the field | |
[out] | value | the field value |
References unlikely().
|
inline |
Reads the field value as int.
tagIndex | the index of the field | |
[out] | value | the field value |
References unlikely().
|
inline |
Returns the field value of the Nth tag as AsciiString or the empty string.
tag | the tag of the field |
occurrence | the position of the field in the sequence of fields with the given tag |
|
inline |
Returns the field value as AsciiString by the index or the empty string.
References unlikely().
Referenced by fix_algo::copyTagGroup(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fillStreetCancel(), fixToBin_DATA(), fixToBin_Decimal32NULL(), fixToBin_Decimal64NULL(), fixToBin_DecimalType(), fixToBin_DecimalTypeOptional(), fixToBin_InvestorID(), fixToBin_MaturityMonthYear(), fixToBin_PRICE9(), fixToBin_PRICENULL9(), fixToBin_VarDataType(), B3::fixToField(), ILink3V5::fixToField(), ILink3V7::fixToField(), ILink3::fixToField(), fix_algo::getTag(), fix_algo::getTagAsString(), and fix_algo::reorderSMHForMiax().
|
inline |
Reads the field value by the index.
tagIndex | the index of the field | |
[out] | data | the value of the field |
[out] | length | the length of the value |
References unlikely().
Referenced by fix_algo::copyTag(), fix_algo::copyTagOrClear(), fix_algo::copyTagOrSetDef(), getPriceAtIndex(), and fix_algo::getTag().
|
inline |
Reads the field tag and the value by the index.
tagIndex | the index of the field | |
[out] | tag | the tag of the field |
[out] | data | the value of the field |
[out] | length | the length of the value |
References unlikely().
|
inline |
Reads the field value by the index.
tagIndex | the index of the field | |
[out] | v | the value of the field |
References unlikely().
|
inline |
|
inline |
Returns the number of the fields in the message.
|
inline |
Returns the field index by the tag or NOTFOUND.
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), fix_algo::copyTag(), fix_algo::copyTagOrClear(), fix_algo::copyTagOrSetDef(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fillStreetCancel(), fix_algo::getTag(), fix_algo::getTagAsInt(), and fix_algo::getTagAsString().
|
inline |
Returns the field index in the specified range by the tag or NOTFOUND.
tag | the tag of the field |
fromIndex | the lower bound of the index range (inclusive) |
|
inline |
Returns the field index in the specified range by the tag or NOTFOUND.
tag | the tag of the field |
fromIndex | the lower bound of the index range (inclusive) |
toIndex | the upper bound of the index range (exclusive) |
|
inline |
Returns the length of the field value.
Referenced by fix_algo::reorderSMHForMiax().
|
inline |
Returns the length of the field value.
tag | the tag of the field | |
[out] | data | the value of the field |
|
inline |
Returns the field value length by the index or NOTFOUND.
|
inline |
Returns the field tag by the index.
|
inline |
Returns the number of fields with the given tag in the message.
|
inline |
Returns the field index of the Nth tag.
tag | the tag of the field |
occurrence | the position of the field in the sequence of fields with the given tag |
Referenced by fix_algo::CmiFixConverter::convertAppMsgToBinary(), B3::fixToField(), ILink3V5::fixToField(), ILink3V7::fixToField(), and ILink3::fixToField().
|
inlinevirtual |
|
inlinevirtual |
Returns the version of the message.
Implements Engine::FIXMessage.
|
inlinevirtual |
Returns true if the message contains the boolean field with 'true' value.
tag | the tag of the field |
Implements Engine::TagValue.
Referenced by fix_algo::mapReportTypeToCmi().
|
inline |
Returns true if the message contains the boolean field with 'true' value.
tag | the tag of the field |
|
inline |
Returns true if the message contains the field.
tag | the tag of the field |
Referenced by fix_algo::fill_reject(), fix_algo::fill_ucxl(), fix_algo::getGTCPersistedProps(), fix_algo::isDGF(), and fix_algo::reorderSMHForMiax().
|
inline |
Returns true if the field contains a value.
tag | the tag of the field |
Referenced by fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fixToBin_BidirectionalBusinessHeader(), fixToBin_InboundBusinessHeader(), fixToBin_OutboundBusinessHeader(), and fix_algo::mapTransactTimeToCmi().
|
inline |
void Parser::LiteFixMessage::indexGarbageCollect | ( | ) |
void Parser::LiteFixMessage::init | ( | int | fields | ) |
The message constructor.
fields | initial message capacity of fields |
|
inline |
The message constructor.
new_index_length | initial message capacity of fields |
new_hashtbl_length | initial message capacity of unique tags |
|
inline |
|
inline |
|
inlinevirtual |
Returns true if the message is administrative.
Implements Engine::FIXMessage.
|
inline |
|
inlinevirtual |
Returns true if the message is business reject.
Implements Engine::FIXMessage.
|
inlinevirtual |
Returns true if the field is empty/doesn't exist.
tag | the tag of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Compares fields in the message and in the other TagValue.
Implements Engine::TagValue.
References Engine::FIXFieldValue::data_, Engine::TagValue::get(), and Engine::FIXFieldValue::length_.
|
inline |
|
inline |
Returns true if the message contains maximum number of fields so the next addition will require the message rebuilding.
|
inlinevirtual |
Returns true if actual type of the message instance is LiteFixMessage.
Reimplemented from Engine::FIXMessage.
|
inline |
Returns true if the message buffer is continuous.
|
inlinevirtual |
Returns true if the message is not duplicate.
Implements Engine::FIXMessage.
References FIXFields::PossDupFlag.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Returns true if the message is session reject.
Implements Engine::FIXMessage.
|
inlinevirtual |
Returns true if the tag is supported in the message.
Implements Engine::TagValue.
|
inline |
Returns true if the field exists by the given index otherwise false.
void Parser::LiteFixMessage::makeStandalone | ( | ) |
Makes the message independent of the external message buffer.
Referenced by RiskCommon::findMessageInSessionByGlobID(), fix_algo::toLiteMessage(), fix_algo::turnToLiteMessage(), and fix_algo::turnToLiteMessageGlob().
|
inline |
|
inline |
Utils::RawBuffer* Parser::LiteFixMessage::newStorageForEntry | ( | int | tagIndex, |
int | length | ||
) |
void Parser::LiteFixMessage::parse | ( | const char * | message, |
int | messageLength, | ||
bool | clearTheMessageBeforeUse = true , |
||
bool | makeStandalone = false , |
||
Engine::FIXTagVisitor * | callback = NULL |
||
) |
Parses the input buffer and fills the existing LiteFixMessage with tags.
message | a pointer to the buffer |
messageLength | the buffer size |
clearTheMessageBeforeUse | if true the message will be cleared before parsing |
makeStandalone | if true the buffer will be copied to the internal storage otherwise links to the passed buffer will be kept |
callback | FIXTagVisitor will be called for each parsed tag. Optional. |
Referenced by RiskCommon::findMessageInSessionByGlobID(), fix_algo::toLiteMessage(), fix_algo::turnToLiteMessage(), and fix_algo::turnToLiteMessageGlob().
|
inline |
Parses the ASCIIz string and fills the existing LiteFixMessage with tags.
a | message pointer to the string |
|
inline |
Parses the string and fills the existing LiteFixMessage with tags.
message | the message string |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
References Utils::StrToDouble::parseDouble().
|
inlinestatic |
|
inlinestatic |
int Parser::LiteFixMessage::parseSome | ( | const char * | buf, |
int | len, | ||
int * | offset, | ||
bool | clearTheMessageBeforeUse, | ||
bool | isMakeStandalone, | ||
Engine::FIXTagVisitor * | callback, | ||
ParseError & | error | ||
) |
Parses one message from the input buffer and fills the existing LiteFixMessage with tags.
buf | a pointer to the buffer |
len | the buffer size |
offset[out] | the message start offset in the buffer |
clearTheMessageBeforeUse | if true the message will be cleared before parsing |
isMakeStandalone | if true the buffer will be copied to the internal storage otherwise links to the passed buffer will be kept |
callback | FIXTagVisitor will be called for each parsed tag. Optional. |
error[out] | the parse error description |
|
inline |
Returns the message capacity of fields.
|
inline |
void Parser::LiteFixMessage::prepareContinuousBuffer | ( | ) |
Prepares an independent continuous message buffer.
|
inline |
|
inline |
|
inlinevirtual |
Returns the ProtocolID of the message.
Implements Engine::FIXMessage.
References FIXFields::BeginString, and Engine::NA.
void Parser::LiteFixMessage::rehashHashtable | ( | bool | clearTable | ) |
|
virtual |
Destroys the message.
Implements Engine::FIXMessage.
|
virtual |
|
inlinevirtual |
Removes the field from the message.
tag | the tag of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Removes fields from the message by the tags.
Implements Engine::TagValue.
|
inline |
Removes the field from the message.
tag | the tag of the field |
Referenced by fix_algo::fill_reply_8_cross(), fix_algo::reorderSMHForMiax(), and fix_algo::stripGTCPersistedProps().
|
inline |
Removes the field from the message.
i | the index of the field |
|
inline |
Removes fields from the message.
tags | the array of tags to remove |
count | the number of tags |
|
virtual |
not implemented
Implements Engine::TagValue.
bool Parser::LiteFixMessage::reserveBytes | ( | int | size | ) |
|
inline |
|
inline |
Inserts or updates the existing field in the message.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
length | the length of the field value |
Referenced by B3::binToFix(), ILink3V5::binToFix(), ILink3V7::binToFix(), ILink3::binToFix(), binToFix_BidirectionalBusinessHeader(), binToFix_InboundBusinessHeader(), binToFix_InvestorID(), binToFix_OutboundBusinessHeader(), CMI::convertAppMsgToFix(), fix_algo::CmiFixConverter::convertAppMsgToFix(), CMI::convertSessionLevelMsgToFix(), fix_algo::copyTag(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fillStreetCancel(), fix_algo::initMsg(), fix_algo::mapContingencyToFix(), fix_algo::mapERQtyToFix(), fix_algo::mapFillERQtyToFix(), fix_algo::mapOrderId37ToFix(), fix_algo::mapOriginToFix(), fix_algo::mapPriceToFix(), fix_algo::mapReportTypeToFix(), fix_algo::mapTradedPriceToFix(), fix_algo::mapTransactTimeToFix(), fix_algo::new_8_for_reject(), fix_algo::new_8_for_ucxl(), fix_algo::new_9_for_reject(), fix_algo::newMessage(), B3::populateWithConstFields(), ILink3V5::populateWithConstFields(), ILink3V7::populateWithConstFields(), ILink3::populateWithConstFields(), fix_algo::reorderSMHForMiax(), and setPrice().
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
Implements Engine::TagValue.
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
References ShortStr< StringLength >::data_, and ShortStr< StringLength >::length_.
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
References Engine::MonthYear::ValueSize.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
References Engine::LocalMktDate::ValueSize.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
References Engine::UTCDateOnly::ValueSize.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
References Engine::UTCTimestamp::ValueSizeWithMilliseconds.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the existing field in the message.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the existing field in the message.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
inlinevirtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Implements Engine::TagValue.
|
virtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, mustn't be empty |
Implements Engine::TagValue.
|
virtual |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, mustn't be empty |
Implements Engine::TagValue.
|
inline |
Inserts or updates the existing field in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Updates the field value.
tagIndex | the index of the field |
value | the new value of the field |
Utils::Exception | if the field doesn't exist |
|
inline |
Updates the field value.
tagIndex | the index of the field |
value | the new value of the field |
Utils::Exception | if the field doesn't exist |
|
inline |
Updates the field value.
tagIndex | the index of the field |
value | the new value of the field |
value | the length of the new value |
Utils::Exception | if the field doesn't exist |
|
inline |
|
inlinevirtual |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
Referenced by fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fillStreetCancel(), and fix_algo::reorderSMHForMiax().
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field, shouldn't be empty otherwise it is ignored |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
References Engine::UTCTimestamp::ValueSizeWithMilliseconds.
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the existing field in the message.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
|
inline |
Referenced by Engine::MsgPipeElem::MsgPipeElem().
|
inline |
|
inline |
Inserts or updates the field value by the tag.
tag | the tag of the field |
value | the value of the field |
Referenced by CMI::convertAppMsgToFix(), and CMI::convertSessionLevelMsgToFix().
|
inline |
Sets a new value to the field or removes the field if the value is empty.
tag | the tag of the field |
value | the value of the field |
|
inline |
Sets a new value to the field or removes the field if the value is empty.
tag | the tag of the field |
value | the value of the field |
|
inlinevirtual |
|
inline |
Sets the message sender.
References FIXFields::SenderCompID.
|
inlinevirtual |
Sets the message sequence number.
Implements Engine::FIXMessage.
References FIXFields::MsgSeqNum.
Referenced by B3::binToFix(), ILink3V5::binToFix(), ILink3V7::binToFix(), and ILink3::binToFix().
|
inline |
Sets the field value by the index.
tagIndex | the index of the field |
value | the value of the field |
length | the length of the field value |
void Parser::LiteFixMessage::setTagLength | ( | int | tag, |
int | newPadWidth | ||
) |
Sets the new length of the existing field value.
Truncates the trailing symbols or adds the leading '0' to the value.
tag | the tag of the field |
newPadWidth | the new length of the field, values greater than 64 are truncated |
|
inlinevirtual |
|
inline |
Sets the message target.
References FIXFields::TargetCompID.
|
inline |
Returns true if the tag is found in the message.
void Parser::LiteFixMessage::throwParserError | ( | const char * | reason, |
int | tag = 0 |
||
) |
|
inline |
|
inline |
|
inline |
const char* Parser::LiteFixMessage::toRaw | ( | Utils::RawBuffer & | buf, |
int * | size, | ||
bool | tryReuseExistingBuffer, | ||
bool | doSelfCheck = true |
||
) | const |
Serializes the message.
[out] | buf | the destination buffer to append the serialized message if the existing buffer cannot be reused |
[out] | size | the size of the serialized message |
tryReuseExistingBuffer | if true the method will try to reuse the existing (possibly external) buffer instead of the destination buffer | |
doSelfCheck | not implemented, optional |
|
inlinevirtual |
Serializes the message.
sa | is not used | |
[out] | size | the size of the serialized message |
Implements Engine::FIXMessage.
|
inline |
Serializes the message.
[out] | size | the size of the serialized message |
tryReuseExistingBuffer | if true the method will try to reuse the existing (possibly external) buffer instead of the destination buffer |
|
inlinevirtual |
Serializes the message.
[out] | size | the size of the serialized message |
Implements Engine::FIXMessage.
|
inline |
Serializes the message.
sa | is not used | |
[out] | rawFixMsg | the destination buffer to write the serialized message if the existing buffer cannot be reused |
[out] | size | the size of the serialized message |
|
inline |
Serializes the message.
sa | is not used | |
[out] | rawFixMsg | the destination buffer to write the serialized message if the existing buffer cannot be reused |
[out] | size | the size of the serialized message |
calculateCRC | is not used |
|
inline |
Serializes the message.
[out] | rawFixMsg | the destination buffer to append the serialized message if the existing buffer cannot be reused |
[out] | size | the size of the serialized message |
|
virtual |
Serializes the message to the internal string.
substChar | the character to replace SOH and other non-printable symbols |
Implements Engine::FIXMessage.
|
inlinevirtual |
Returns the message type.
Implements Engine::FIXMessage.
|
inline |
|
inline |
Updates the checksum in the original message buffer.
|
inline |
References unlikely().
|
inline |
References unlikely().
|
inline |
|
inline |
|
inline |
References Utils::RawBuffer::append(), and MEMCPY.
|
inline |
References Utils::RawBuffer::get(), Utils::RawBuffer::resize(), and Utils::RawBuffer::size().
|
inline |
References Utils::RawBuffer::get(), Utils::RawBuffer::resize(), and Utils::RawBuffer::size().
|
inline |
void Parser::LiteFixMessage::visit | ( | Engine::FIXTagVisitor * | callback | ) |
Invokes the visitor callback for all fields in the message.
|
inline |
Returns the field tag by the index.
Referenced by fix_algo::copyTagGroup(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fillStreetCancel(), and fix_algo::reorderSMHForMiax().
|
virtual |
not implemented
Implements Engine::TagValue.
|
static |
Utils::RawBuffer Parser::LiteFixMessage::arenaStorage |
|
static |
|
static |
short Parser::LiteFixMessage::fieldCount |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
bool Parser::LiteFixMessage::hasAdjustedTags_ = false |
|
static |
hashtbl_elem_t* Parser::LiteFixMessage::hashtbl |
hashtbl_elem_t* Parser::LiteFixMessage::hashtbl_index |
short Parser::LiteFixMessage::hashtbl_length |
|
static |
short Parser::LiteFixMessage::hashtblElems |
index_elem_t* Parser::LiteFixMessage::index |
index_flags_t* Parser::LiteFixMessage::index_flags |
short Parser::LiteFixMessage::index_length |
|
static |
index_tagloc_t* Parser::LiteFixMessage::index_tagloc |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by fix_algo::copyTag(), fix_algo::copyTagGroup(), fix_algo::copyTagOrClear(), fix_algo::copyTagOrSetDef(), fix_algo::fill_reply_8_complex(), fix_algo::fill_reply_8_cross(), fix_algo::fill_reply_8_order_list(), fix_algo::fillStreetCancel(), fixToBin_DATA(), fixToBin_Decimal32NULL(), fixToBin_Decimal64NULL(), fixToBin_DecimalType(), fixToBin_DecimalTypeOptional(), fixToBin_InvestorID(), fixToBin_MaturityMonthYear(), fixToBin_PRICE9(), fixToBin_PRICENULL9(), fixToBin_TimeTypeOptional(), fixToBin_VarDataType(), B3::fixToField(), ILink3V5::fixToField(), ILink3V7::fixToField(), ILink3::fixToField(), fix_algo::getTagAsInt(), fix_algo::getTagAsString(), and fix_algo::reorderSMHForMiax().
char* Parser::LiteFixMessage::origBuffer |
short Parser::LiteFixMessage::origBufLength |
|
static |
Utils::RawBuffer** Parser::LiteFixMessage::perFieldStorage |
|
mutable |
|
static |
|
mutable |