B2BITS FIX Antenna HFT  1.0.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Engine Namespace Reference

FIX Engine namespace. More...

Namespaces

 FIXPropertiesNames
 List of all engine.properties parameters.
 
 Impl
 
 SessionName
 Session specific parameters prefixes.
 
 SessionParameters
 List of all session specific parameters which can be configured in the engine.properties.
 
 ThreadsAssignment
 
 TZTimeHelper
 
 v2
 
 v3
 

Classes

class  Application
 Generic application interface. More...
 
class  B2B_SEALED
 New Incoming Connection. More...
 
class  BasicString
 Represents ASCII std::string. More...
 
class  CacheHolderBase
 
class  DebugMessage
 Represents debug message. More...
 
class  Decimal
 Encapsulates float type. More...
 
struct  EngineTagData
 
class  Error
 Represents error event. More...
 
class  Event
 Generic event. More...
 
class  EventListener
 Basic Event Listener. More...
 
class  FAProperties
 FixEngine's configuration parameters. More...
 
class  FastFileT
 
struct  FastSessionExtraParameters
 Parameters of the FIX-over-FAST session. More...
 
class  FieldValueT
 Represents value of field. More...
 
class  FileStorageMgrT
 Manages FileMsgStorages. More...
 
class  FixEngine
 FIX Engine interface. More...
 
struct  FixField
 FIX field (tag & value). More...
 
class  FixFieldsContainer
 Auxiliary class that encapsulates FixFieldsList and helps to use it in another CRT. More...
 
struct  FIXFieldValue
 It is used for storing the Contents information (data + length). More...
 
class  FIXGroup
 FIX Repeating Group interface. More...
 
class  FIXMessage
 Basic FIX message. More...
 
struct  FIXMessageElem
 
class  FIXMessageEx
 The part of the FIX message storing persistent data and helpers. More...
 
class  FIXMessagePool
 
struct  FIXMessageProcessElem
 
class  FIXMsgFactory
 Creates FIXMessages. More...
 
class  FIXMsgProcessor
 Processes raw messages and provides message verification capabilities. More...
 
class  FixSessionException
 
struct  FixT11TcpBackupParameters
 The FIXT11_TCP underlying protocol backup properties. More...
 
struct  FixT11TcpParameters
 The FIXT11_TCP underlying protocol properties. More...
 
struct  FIXTagVisitor
 FIX message Tag Visitor interface. More...
 
struct  FIXTagVisitorFactory
 Receive Data Listener interface. More...
 
struct  FixTcpBackupParameters
 The FIX_TCP underlying protocol backup properties. More...
 
struct  FixTcpParameters
 The FIX_TCP underlying protocol properties. More...
 
struct  GlobalMsgIdGen
 GlobalMsgId generator. More...
 
class  HeartbeatWithTestReqIDEvent
 A Heartbeat message (MsgType = 0) with the TestReqID field (tag = 112) is received. More...
 
struct  IndexFile_Block
 
struct  IndexFile_Header
 
class  IndexFileT
 
class  LocalMktDate
 Encapsulates LocalMktDate FIX type. More...
 
class  LogFilePosT
 
class  LogFileT
 
class  LogonEvent
 The Logon message has been received from the counterparty. More...
 
class  LogoutEvent
 The session was closed. More...
 
class  MCachedFileStorageMgr
 
class  MemBlock
 Represents reference to the memory block. More...
 
class  MonthYear
 Encapsulates MonthYear FIX type. More...
 
struct  MsgFilter
 Message filter. More...
 
struct  MsgPipeElem
 
class  MsgPipePool
 
class  MsgRejectEvent
 Encapsulates rejected application message. More...
 
class  MsgStorage
 Basic message storage. More...
 
class  MsgStorageHelper
 
class  NewStateEvent
 The session has changed its state. More...
 
class  Notification
 Represents notification event. More...
 
struct  PersistentData
 The data that is stored with a FIX message in the session logs. More...
 
struct  PersistentUserData
 The user-defined part of the data that is stored with a FIX message in the session logs. More...
 
struct  PutMessageOptions
 Options to Session::put method. More...
 
class  RejectMsgStorage
 Abstract storage of the rejected messages. More...
 
class  ResendRequestEvent
 A Resend Request (MsgType = 2) has been received. More...
 
class  SequenceGapEvent
 The sequence gap was detected in incoming messages. More...
 
class  Session
 Basic Session. More...
 
struct  SessionBackupParameters
 Encapsulates connection's host and port. More...
 
class  SessionError
 Error related to Session. More...
 
class  SessionEvent
 A generic session-level event. More...
 
struct  SessionExtraParameters
 Session's extra parameters. More...
 
class  SessionExtraParametersImpl
 
class  SessionLevelRejectEvent
 A SessionReject message was received. More...
 
class  SessionNotification
 Represents notification event related to Session. More...
 
class  SessionsManager
 An interface for managing sessions. More...
 
class  SessionStateFSM
 
class  SessionWarning
 Represents warning event related to Session. More...
 
class  StorableMsg
 Defines contract of the message to be stored in storage. More...
 
class  StorableMsgHelper
 
class  StorageMgr
 Manages MsgStorages. More...
 
struct  StrCaseInsComp
 Meyer's case-insensitive comparision functor. More...
 
class  SwitchConnectionEvent
 The session has changed its state. More...
 
class  TagValue
 Represents tag-value structure. More...
 
class  TagValueEx
 TagValue extensions. More...
 
class  ThreadsPool
 ThreadsPool instance (singleton) used by the engine. More...
 
struct  ThreadsPoolListener
 ThreadsPool listener interface. More...
 
class  UnableToRouteMessageEvent
 The routing session wasn't found. More...
 
class  UnexpectedMessageEvent
 The unexpected message was received. More...
 
class  UTCDateOnly
 Encapsulates UTCDateOnly FIX type. More...
 
class  UTCTimeOnly
 Encapsulates UTCTimeOnly FIX type. More...
 
class  UTCTimestamp
 Encapsulates UTCTimestamp FIX type. More...
 
class  Warning
 Represents warning event. More...
 

Typedefs

typedef std::vector< std::string > Addresses
 Collection of ip addresess. More...
 
typedef BasicString< char > AsciiString
 AsciiString. More...
 
typedef MemBlock< unsigned char > ByteArray
 ByteArray. More...
 
typedef std::map< std::string,
std::string > 
EngineProperties
 
typedef FastFileT< System::FileExFastFile
 
typedef FileMsgStorageT
< System::FileEx
FileMsgStorage
 
typedef FileStorageMgrT
< System::FileEx
FileStorageMgr
 
typedef std::vector< FixFieldFixFieldsList
 Typename for the fields list. More...
 
typedef list_iterator
< FIXMessageElem
FIXMessageIterator
 
typedef std::map< FIXVersion,
std::string > 
FixVersionToProtocolName
 
typedef Decimal Float
 Represents float FIX type. More...
 
typedef Parser::HeaderFields HeaderFields
 
typedef IndexFileT
< System::FileEx
IndexFile
 
typedef System::i64 Integer
 Represents integer FIX type. More...
 
typedef System::IPAddr IPAddr
 
typedef std::vector< int > ListenPorts
 
typedef LocalMktDate LocalMktDateType
 Represents LocalMktDate FIX type. More...
 
typedef LogFileT< System::FileExLogFile
 
typedef LogFilePosT
< System::FileEx
LogFilePos
 
typedef FileMsgStorageT
< System::MCachedFile
MCachedFileMsgStorage
 
typedef MonthYear MonthYearType
 Represents MonthYear FIX type. More...
 
typedef std::vector< FIXMessage * > MsgList
 FIX messages sequence. More...
 
typedef std::string MsgType
 FIX message type. More...
 
typedef std::set< std::string > MsgTypes
 Set of FIX message types. More...
 
typedef std::vector< char > MultipleChar
 
typedef std::vector< std::string > MultipleString
 
typedef unsigned int PreparedFieldIndex
 
typedef unsigned int ProtocolID
 Unique protocol identifier. More...
 
typedef std::string RawMsg
 
typedef std::map< const char
*, const char
*, StrCaseInsComp
StringProperties
 Map of pairs <key, value> for properties. More...
 
typedef UInteger TagNum
 Represents TagNum FIX type. More...
 
typedef Utils::Emptily< bool > TriBool
 
typedef Utils::Emptily< int > TriInt
 
typedef Utils::Emptily
< Engine::MessageStorageType
TriMessageStorageType
 
typedef Utils::Emptily
< SessionExtraParameters
TriSessionExtraParameters
 
typedef Utils::Emptily
< SessionExtraParametersImpl
TriSessionExtraParametersImpl
 
typedef Utils::Emptily
< System::u32
TriUInt32
 
typedef Utils::Emptily
< System::u64
TriUInt64
 
typedef System::u64 UInteger
 Represents unsigned integer FIX type. More...
 
typedef UTCDateOnly UTCDateOnlyType
 Represents UTCDateOnly FIX type. More...
 
typedef UTCTimeOnly UTCTimeOnlyType
 Represents UTCTimeOnly FIX type. More...
 
typedef UTCTimestamp UTCTimestampType
 Represents UTCTimestamp FIX type. More...
 
typedef BasicString< wchar_t > WideString
 WideString. More...
 

Enumerations

enum  AdminCommand { START_ADMIN_COMMAND, STOP_ADMIN_COMMAND, CUSTOM_ADMIN_COMMAND }
 
enum  EncryptMethod {
  NONE = 0, PKCS = 1, DES = 2, PKCS_DES = 3,
  PGP_DES = 4, PGP_DES_MD5 = 5, PEM_DES_MD5 = 6, EncryptMethod_Last
}
 Encryption method. More...
 
enum  FIXVersion {
  NA = 0, FIX40 = 1, FIX41 = 2, FIX42 = 3,
  ESFIX = 4, FIX43 = 5, FIX44 = 6, FIX50 = 7,
  FIX50SP1 = 8, FIX50SP2 = 9, FIXT11 = 10, FIX50SP1CME = 11,
  FAST_FIX44 = 12, LAST_FIX_PROTO = FAST_FIX44, CMI2, ILINK3,
  FIXVersion_Last
}
 FIX protocol version. More...
 
enum  ForceSeqNumResetMode { FSNR_NA, FSNR_ON, FSNR_ALWAYS, FSNR_OFF }
 Force SeqNum Reset mode. More...
 
enum  LinkErrorCause { LinkErrorCause_Generic = 0, LinkErrorCause_NoResponse = 1 }
 
enum  MessageStorageType {
  invalid_storageType = 0, persistent_storageType, transient_storageType, persistentCached_storageType,
  null_storageType, default_storageType, total_storageType
}
 Enumeration of the message storage types. More...
 
enum  OutOfSequenceMessagesStrategyEnum {
  OSMS_DEFAULT = 0x00000000, OSMS_REQUEST_ALWAYS = 0x00000001, OSMS_REQUEST_ONCE = 0x00000002, OSMS_QUEUE = 0x00000003,
  OSMS_IGNORE_GAP = 0x00000004, OSMS_TOTAL = 0x00000005
}
 Strategy for out of sequence messages. More...
 
enum  SessionRole { NA_SESSION_ROLE, INITIATOR_SESSION_ROLE, ACCEPTOR_SESSION_ROLE }
 Defines role of session. More...
 
enum  SocketOpPriority {
  EVEN_SOCKET_OP_PRIORITY = 0, AGGRESSIVE_SEND_SOCKET_OP_PRIORITY = 1, AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY = 2, AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY,
  BLOCKING_AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY = AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY | 4
}
 The priorities of the messages send receive operations. More...
 
enum  UnderlyingProtocol { FIX_TCP, FIXT11_TCP }
 Set of the supported underlying protocols. More...
 

Functions

std::string const & forceSeqNumResetModeToString (ForceSeqNumResetMode value)
 
System::u64 generateGlobalMsgId ()
 
std::shared_ptr
< Parser::BinaryProtocolI
getBinaryProtocol (enum FIXVersion ssnVer)
 
std::shared_ptr
< Parser::BinaryFixMappingI
getDefBinaryMapping (enum FIXVersion ssnVer)
 
std::shared_ptr
< Parser::BinaryFixMappingI
getUserBinaryMapping (enum FIXVersion ssnVer)
 
void V12_API MCachedFileStorageMgr_addToSync (System::MCachedFile *file)
 
const char * messageStorageTypeToString (MessageStorageType value)
 Converts MessageStorageType to string. More...
 
bool operator!= (AsciiString lv, AsciiString rv) throw ()
 Tests if the std::string on the left side of the operator is not equal to the std::string on the right side. More...
 
bool operator!= (WideString lv, WideString rv) throw ()
 Tests if the std::string on the left side of the operator is not equal to the std::string on the right side. More...
 
bool operator!= (ByteArray lv, ByteArray rv) throw ()
 Tests if the std::vector on the left side of the operator is not equal to the std::vector on the right side. More...
 
template<typename T >
bool operator!= (MemBlock< T > lv, MemBlock< T > rv) throw ()
 Tests if the object on the left side of the operator is not equal to the object on the right side. More...
 
template<typename TagValueT , typename T >
bool operator!= (FieldValueT< TagValueT > lv, T value)
 Compares FieldValue and object. More...
 
template<typename TagValueT , typename T >
bool operator!= (T value, FieldValueT< TagValueT > rv)
 Compares FieldValue and object. More...
 
template<typename TagValueTL , typename TagValueTR >
bool operator!= (FieldValueT< TagValueTL > lv, FieldValueT< TagValueTR > value)
 Compares two FieldValues. More...
 
bool operator< (AsciiString lv, AsciiString rv) throw ()
 Tests if the std::string on the left side of the operator is less than the std::string on the right side. More...
 
bool operator< (WideString lv, WideString rv) throw ()
 Tests if the std::string on the left side of the operator is less than the std::string on the right side. More...
 
bool operator< (ByteArray lv, ByteArray rv) throw ()
 Tests if the std::vector on the left side of the operator is less than the std::vector on the right side. More...
 
template<typename T >
bool operator< (MemBlock< T > lv, MemBlock< T > rv) throw ()
 Tests if the iterator object on the left side of the operator is greater than the iterator object on the right side. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const LocalMktDate &v)
 Writes a LocalMktDate into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const MonthYear &v)
 Writes a MonthYear into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const UTCDateOnly &v)
 Writes a UTCDateOnly into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const UTCTimeOnly &v)
 Writes a UTCTimeOnly into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const Decimal &rv)
 Stream writer. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const UTCTimestamp &v)
 Writes a UTCTimestamp into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, Engine::AsciiString value)
 Writes AsciiString to the stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, Engine::WideString value)
 Writes AsciiString to the stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, Engine::ByteArray value)
 Writes ByteArray to the stream. More...
 
template<typename TagValueT >
std::ostream & operator<< (std::ostream &stream, FieldValueT< TagValueT > value)
 Writes FieldValue to the std::ostream. More...
 
bool operator== (AsciiString lv, AsciiString rv) throw ()
 Tests if the std::string on the left side of the operator is equal to the std::string on the right side. More...
 
bool operator== (WideString lv, WideString rv) throw ()
 Tests if the std::string on the left side of the operator is equal to the std::string on the right side. More...
 
bool operator== (ByteArray lv, ByteArray rv) throw ()
 Tests if the std::vector on the left side of the operator is equal to the std::vector on the right side. More...
 
template<typename T >
bool operator== (MemBlock< T > lv, MemBlock< T > rv) throw ()
 Tests if the object on the left side of the operator is equal to the object on the right side. More...
 
template<typename TagValueT , typename T >
bool operator== (FieldValueT< TagValueT > lv, T value)
 Compares FieldValue and object. More...
 
template<typename TagValueT , typename T >
bool operator== (T value, FieldValueT< TagValueT > rv)
 Compares FieldValue and object. More...
 
template<typename TagValueTL , typename TagValueTR >
bool operator== (FieldValueT< TagValueTL > lv, FieldValueT< TagValueTR > value)
 Compares two FieldValues. More...
 
bool operator> (AsciiString lv, AsciiString rv) throw ()
 Tests if the iterator std::string on the left side of the operator is greater than the iterator std::string on the right side. More...
 
bool operator> (WideString lv, WideString rv) throw ()
 Tests if the iterator std::string on the left side of the operator is greater than the iterator std::string on the right side. More...
 
bool operator> (ByteArray lv, ByteArray rv) throw ()
 Tests if the iterator std::vector on the left side of the operator is greater than the iterator std::vector on the right side. More...
 
template<typename T >
bool operator> (MemBlock< T > lv, MemBlock< T > rv) throw ()
 Tests if the iterator object on the left side of the operator is greater than the iterator object on the right side. More...
 
V12_API const char * outOfSequenceMessagesStrategyToString (OutOfSequenceMessagesStrategyEnum value)
 Converts string to OutOfSequenceMessagesStrategy. More...
 
void V12_API removeCustomFields (FIXMessage *msg)
 Removes custom fields (tag > 6000) from message. More...
 
const char * roleToString (SessionRole value)
 
MessageStorageType stringToMessageStorageType (char const *value)
 Converts string to MessageStorageType. More...
 
MessageStorageType stringToMessageStorageTypeI (char const *value)
 
V12_API
OutOfSequenceMessagesStrategyEnum 
stringToOutOfSequenceMessagesStrategy (char const *value)
 Converts string to OutOfSequenceMessagesStrategy. More...
 

Variables

const std::string ActConnectionPropertyName = "AC"
 
const std::string ActConnectionPropertyNameOld = "ActiveConnection"
 
const std::string BackupActConnectionValue = "backup"
 
const std::string CorrectlyTerminatedPropertyName = "CT"
 
const std::string CorrectlyTerminatedPropertyNameOld = "CorrectlyTerminated"
 
const std::string EncryptMethodPropertyName = "En"
 
const std::string EncryptMethodPropertyNameOld = "EncryptMethod"
 
static const char * FileStorageMgr_ConfExt = ".conf"
 
static const char * FileStorageMgr_IndxInExt = ".ndx.in"
 
static const char * FileStorageMgr_IndxOutExt = ".ndx.out"
 
static const char * FileStorageMgr_InExt = ".in"
 
static const char * FileStorageMgr_OutExt = ".out"
 
const std::string FIXADMIN_TARGET = "FIXADMIN"
 
static IndexFile_Flags const FLG_MSG_ORIGINAL = 8
 
static IndexFile_Flags const FLG_MSG_REJECTED = 1
 
static IndexFile_Flags const FLG_MSG_TO_BE_RESENT = 2
 
static IndexFile_Flags const FLG_SEP = 4
 
const std::string ForceSeqNumResetPropertyName = "ForceSeqNumReset"
 
GlobalMsgIdGen g_globalMsgIdGen
 
FIXMsgFactoryg_msgFactoryLocal
 
const std::string HBIPropertyName = "HBI"
 
const std::string HBIPropertyNameOld = "HBI"
 
const std::string HostPropertyName = "H"
 
const std::string HostPropertyNameOld = "Host"
 
const std::string InInitiatorPropertyNameOld = "IsInitiator"
 
const std::string InSeqNumPropertyName = "IN"
 
const std::string InSeqNumPropertyNameOld = "IncomingSeqNum"
 
static ProtocolID const INVALID_PROTOCOL_ID = 0
 Invalid FIX protocol identifier. More...
 
const std::string IsInitiatorPropertyName = "I"
 
const std::string LastSentSeqNumPropertyName = "OUT"
 
const std::string LastSentSeqNumPropertyNameOld = "LastSentSeqNum"
 
const int MAX_FIELD_TYPE_SIZE = 64
 
static const int MAX_SOCKET_READERS = 3
 
const std::string MinOutSeqNumPropertyName = "MinOutgoingSeqNum"
 
const int MSG_SEQ_NUM_BUF_SIZE = 128
 
const int N_SECONDS_IN_24_HOURS = 24 * 60 * 60
 
const std::string OutSeqNumPropertyName = "OutgoingSeqNum"
 
const std::string PortPropertyName = "P"
 
const std::string PortPropertyNameOld = "Port"
 
const std::string PrimaryActConnectionValue = "primary"
 
const char REJECTED_MARKER [] = "R"
 
const int REJECTED_MARKER_SIZE = 1
 
const std::string RolePropertyName = "R"
 
const std::string RolePropertyNameOld = "Role"
 
const std::string SenderPropertyName = "49"
 
const std::string SenderPropertyNameOld = "Sender"
 
const std::string SessionGlobalIDPropertyName = "SessionID"
 
const std::string SessionInternalStatePropertyName = "SessionInternalState"
 
const int SOCKET_SEND_BUFFER_SIZE = 256 * 1024
 
const std::string StorageIDPropertyName = "StorageID"
 
const std::string TargetPropertyName = "56"
 
const std::string TargetPropertyNameOld = "Target"
 
static ProtocolID const TOTAL_PROTOCOL_ID_COUNT = 100
 Last valid FIX protocol identifier. More...
 
const char UNREJECTED_MARKER [] = " "
 
static const int USE_RELAXED_RECEIVE = -2
 
const std::string VersionPropertyName = "8"
 
const std::string VersionPropertyNameOld = "Version"
 

Detailed Description

FIX Engine namespace.

FIX fields processor & helpers.

Contains all FIX related classes (Session, FIXMessage, FIXGroup etc).

Typedef Documentation

typedef std::vector<std::string> Engine::Addresses

Collection of ip addresess.

AsciiString.

Note
refers to external buffer
typedef MemBlock<unsigned char> Engine::ByteArray

ByteArray.

typedef std::map<std::string, std::string> Engine::EngineProperties
typedef FileMsgStorageT<System::FileEx> Engine::FileMsgStorage
typedef std::vector<FixField> Engine::FixFieldsList

Typename for the fields list.

typedef std::map<FIXVersion, std::string> Engine::FixVersionToProtocolName

Represents float FIX type.

Represents integer FIX type.

typedef std::vector<int> Engine::ListenPorts

Represents LocalMktDate FIX type.

Represents MonthYear FIX type.

typedef std::vector<FIXMessage*> Engine::MsgList

FIX messages sequence.

typedef std::string Engine::MsgType

FIX message type.

typedef std::set< std::string > Engine::MsgTypes

Set of FIX message types.

typedef std::vector<char> Engine::MultipleChar
typedef std::vector<std::string> Engine::MultipleString
typedef unsigned int Engine::PreparedFieldIndex
typedef unsigned int Engine::ProtocolID

Unique protocol identifier.

typedef std::string Engine::RawMsg
typedef std::map< const char*, const char*, StrCaseInsComp > Engine::StringProperties

Map of pairs <key, value> for properties.

Represents TagNum FIX type.

Represents unsigned integer FIX type.

Represents UTCDateOnly FIX type.

Represents UTCTimeOnly FIX type.

Represents UTCTimestamp FIX type.

typedef BasicString<wchar_t> Engine::WideString

WideString.

Note
refers to external buffer

Enumeration Type Documentation

Enumerator
START_ADMIN_COMMAND 
STOP_ADMIN_COMMAND 
CUSTOM_ADMIN_COMMAND 

Encryption method.

Enumerator
NONE 

None / other.

PKCS 

proprietary

DES 

EBC mode.

PKCS_DES 

proprietary

PGP_DES 

defunct

PGP_DES_MD5 

see app note on FIX home page

PEM_DES_MD5 

see app note on FIX home page

EncryptMethod_Last 

FIX protocol version.

Enumerator
NA 

Unknown version.

FIX40 

FIX 4.0.

FIX41 

FIX 4.1.

FIX42 

FIX 4.2.

ESFIX 

EasyScreen version of 4.2.

FIX43 

FIX 4.3.

FIX44 

FIX 4.4.

FIX50 

FIX 5.0.

FIX50SP1 

FIX 5.0 SP1.

FIX50SP2 

FIX 5.0 SP2.

FIXT11 

FIXT 1.1.

FIX50SP1CME 

FIX 5.0 SP1 CME.

FAST_FIX44 
LAST_FIX_PROTO 
CMI2 
ILINK3 
FIXVersion_Last 

Represents number of FIX protocols.

Force SeqNum Reset mode.

Enumerator
FSNR_NA 

Default value; take the value from properties file.

FSNR_ON 

Use tag 141 at first Logon to reset sequence number.

FSNR_ALWAYS 

Reset sequence number at every Logon.

FSNR_OFF 

Do not use tag 141 at Logon to reset sequence number.

Enumerator
LinkErrorCause_Generic 
LinkErrorCause_NoResponse 

Enumeration of the message storage types.

Enumerator
invalid_storageType 
persistent_storageType 

file storage - slow and safe

Deprecated:
Use Engine::persistentMM_storageType instead
transient_storageType 

memory storage - quick but dangerous

persistentCached_storageType 

Memory cashed file storage - fast and safe.

null_storageType 

Simple storage, that does not store anything - fast.

default_storageType 

Configurable from engine.properties.

total_storageType 

Strategy for out of sequence messages.

Enumerator
OSMS_DEFAULT 

Default value; for engine parameter used OSMS_REQUEST_ALWAYS for session parameter used value of engine parameter.

OSMS_REQUEST_ALWAYS 

send resend request on any out of sequence message

OSMS_REQUEST_ONCE 

Send resend request on gap.

Suppress new resend request if gap not closed

OSMS_QUEUE 

Use out of sequence queue for storing out of sequence messages and processing them after closing gap.

OSMS_IGNORE_GAP 

Send out of sequence request on gap and processing out of sequence messages.

OSMS_TOTAL 

Defines role of session.

Enumerator
NA_SESSION_ROLE 

NA.

INITIATOR_SESSION_ROLE 

Session is acceptor.

ACCEPTOR_SESSION_ROLE 

Session is initiator.

The priorities of the messages send receive operations.

Enumerator
EVEN_SOCKET_OP_PRIORITY 

Use thread pool to send/receive messages.

AGGRESSIVE_SEND_SOCKET_OP_PRIORITY 

Use dedicated thread to send messages.

AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY 

Use dedicated thread to receive messages.

AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY 

Use two dedicated threads to send/receive messages.

BLOCKING_AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY 

The same as above but uses blocking socket.

Set of the supported underlying protocols.

Enumerator
FIX_TCP 

simple TCP socket with same application and session protocols.

FIXT11_TCP 

The FIXT.1.1 session protocol will be used for the FIX50 application protocol.

Function Documentation

std::string const& Engine::forceSeqNumResetModeToString ( ForceSeqNumResetMode  value)
System::u64 Engine::generateGlobalMsgId ( )
std::shared_ptr<Parser::BinaryProtocolI> Engine::getBinaryProtocol ( enum FIXVersion  ssnVer)
std::shared_ptr<Parser::BinaryFixMappingI> Engine::getDefBinaryMapping ( enum FIXVersion  ssnVer)
std::shared_ptr<Parser::BinaryFixMappingI> Engine::getUserBinaryMapping ( enum FIXVersion  ssnVer)
void V12_API Engine::MCachedFileStorageMgr_addToSync ( System::MCachedFile file)
const char* Engine::messageStorageTypeToString ( MessageStorageType  value)

Converts MessageStorageType to string.

bool Engine::operator!= ( AsciiString  lv,
AsciiString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is not equal to the std::string on the right side.

bool Engine::operator!= ( WideString  lv,
WideString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is not equal to the std::string on the right side.

bool Engine::operator!= ( ByteArray  lv,
ByteArray  rv 
)
throw (
)
inline

Tests if the std::vector on the left side of the operator is not equal to the std::vector on the right side.

template<typename T >
bool Engine::operator!= ( MemBlock< T >  lv,
MemBlock< T >  rv 
)
throw (
)
inline

Tests if the object on the left side of the operator is not equal to the object on the right side.

template<typename TagValueT , typename T >
bool Engine::operator!= ( FieldValueT< TagValueT >  lv,
value 
)
inline

Compares FieldValue and object.

References Engine::FieldValueT< TagValueT >::equal().

template<typename TagValueT , typename T >
bool Engine::operator!= ( value,
FieldValueT< TagValueT >  rv 
)
inline

Compares FieldValue and object.

References Engine::FieldValueT< TagValueT >::equal().

template<typename TagValueTL , typename TagValueTR >
bool Engine::operator!= ( FieldValueT< TagValueTL >  lv,
FieldValueT< TagValueTR >  value 
)
inline

Compares two FieldValues.

References Engine::FieldValueT< TagValueT >::equal().

bool Engine::operator< ( AsciiString  lv,
AsciiString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is less than the std::string on the right side.

bool Engine::operator< ( WideString  lv,
WideString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is less than the std::string on the right side.

bool Engine::operator< ( ByteArray  lv,
ByteArray  rv 
)
throw (
)
inline

Tests if the std::vector on the left side of the operator is less than the std::vector on the right side.

template<typename T >
bool Engine::operator< ( MemBlock< T >  lv,
MemBlock< T >  rv 
)
throw (
)
inline

Tests if the iterator object on the left side of the operator is greater than the iterator object on the right side.

References Engine::MemBlock< T >::compareTo().

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const LocalMktDate &  v 
)

Writes a LocalMktDate into the output stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const MonthYear &  v 
)

Writes a MonthYear into the output stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const UTCDateOnly &  v 
)

Writes a UTCDateOnly into the output stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const UTCTimeOnly &  v 
)

Writes a UTCTimeOnly into the output stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const Decimal &  rv 
)

Stream writer.

V12_API std::ostream& Engine::operator<< ( std::ostream &  s,
const UTCTimestamp &  v 
)

Writes a UTCTimestamp into the output stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  stream,
Engine::AsciiString  value 
)

Writes AsciiString to the stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  stream,
Engine::WideString  value 
)

Writes AsciiString to the stream.

V12_API std::ostream& Engine::operator<< ( std::ostream &  stream,
Engine::ByteArray  value 
)

Writes ByteArray to the stream.

template<typename TagValueT >
std::ostream& Engine::operator<< ( std::ostream &  stream,
FieldValueT< TagValueT >  value 
)
inline

Writes FieldValue to the std::ostream.

bool Engine::operator== ( AsciiString  lv,
AsciiString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is equal to the std::string on the right side.

bool Engine::operator== ( WideString  lv,
WideString  rv 
)
throw (
)
inline

Tests if the std::string on the left side of the operator is equal to the std::string on the right side.

bool Engine::operator== ( ByteArray  lv,
ByteArray  rv 
)
throw (
)
inline

Tests if the std::vector on the left side of the operator is equal to the std::vector on the right side.

template<typename T >
bool Engine::operator== ( MemBlock< T >  lv,
MemBlock< T >  rv 
)
throw (
)
inline

Tests if the object on the left side of the operator is equal to the object on the right side.

template<typename TagValueT , typename T >
bool Engine::operator== ( FieldValueT< TagValueT >  lv,
value 
)
inline

Compares FieldValue and object.

template<typename TagValueT , typename T >
bool Engine::operator== ( value,
FieldValueT< TagValueT >  rv 
)
inline

Compares FieldValue and object.

References Engine::FieldValueT< TagValueT >::equal().

template<typename TagValueTL , typename TagValueTR >
bool Engine::operator== ( FieldValueT< TagValueTL >  lv,
FieldValueT< TagValueTR >  value 
)
inline

Compares two FieldValues.

References Engine::FieldValueT< TagValueT >::equal().

bool Engine::operator> ( AsciiString  lv,
AsciiString  rv 
)
throw (
)
inline

Tests if the iterator std::string on the left side of the operator is greater than the iterator std::string on the right side.

bool Engine::operator> ( WideString  lv,
WideString  rv 
)
throw (
)
inline

Tests if the iterator std::string on the left side of the operator is greater than the iterator std::string on the right side.

bool Engine::operator> ( ByteArray  lv,
ByteArray  rv 
)
throw (
)
inline

Tests if the iterator std::vector on the left side of the operator is greater than the iterator std::vector on the right side.

template<typename T >
bool Engine::operator> ( MemBlock< T >  lv,
MemBlock< T >  rv 
)
throw (
)
inline

Tests if the iterator object on the left side of the operator is greater than the iterator object on the right side.

V12_API const char* Engine::outOfSequenceMessagesStrategyToString ( OutOfSequenceMessagesStrategyEnum  value)

Converts string to OutOfSequenceMessagesStrategy.

void V12_API Engine::removeCustomFields ( FIXMessage *  msg)

Removes custom fields (tag > 6000) from message.

Parameters
msgInstance of FIXMessage
const char* Engine::roleToString ( SessionRole  value)
MessageStorageType Engine::stringToMessageStorageType ( char const *  value)

Converts string to MessageStorageType.

MessageStorageType Engine::stringToMessageStorageTypeI ( char const *  value)
V12_API OutOfSequenceMessagesStrategyEnum Engine::stringToOutOfSequenceMessagesStrategy ( char const *  value)

Converts string to OutOfSequenceMessagesStrategy.

Variable Documentation

const std::string Engine::ActConnectionPropertyName = "AC"
const std::string Engine::ActConnectionPropertyNameOld = "ActiveConnection"
const std::string Engine::BackupActConnectionValue = "backup"
const std::string Engine::CorrectlyTerminatedPropertyName = "CT"
const std::string Engine::CorrectlyTerminatedPropertyNameOld = "CorrectlyTerminated"
const std::string Engine::EncryptMethodPropertyName = "En"
const std::string Engine::EncryptMethodPropertyNameOld = "EncryptMethod"
const char* Engine::FileStorageMgr_ConfExt = ".conf"
static
const char* Engine::FileStorageMgr_IndxInExt = ".ndx.in"
static
const char* Engine::FileStorageMgr_IndxOutExt = ".ndx.out"
static
const char* Engine::FileStorageMgr_InExt = ".in"
static
const char* Engine::FileStorageMgr_OutExt = ".out"
static
const std::string Engine::FIXADMIN_TARGET = "FIXADMIN"
IndexFile_Flags const Engine::FLG_MSG_ORIGINAL = 8
static
IndexFile_Flags const Engine::FLG_MSG_REJECTED = 1
static
IndexFile_Flags const Engine::FLG_MSG_TO_BE_RESENT = 2
static
IndexFile_Flags const Engine::FLG_SEP = 4
static
const std::string Engine::ForceSeqNumResetPropertyName = "ForceSeqNumReset"
GlobalMsgIdGen Engine::g_globalMsgIdGen
FIXMsgFactory* Engine::g_msgFactoryLocal
const std::string Engine::HBIPropertyName = "HBI"
const std::string Engine::HBIPropertyNameOld = "HBI"
const std::string Engine::HostPropertyName = "H"
const std::string Engine::HostPropertyNameOld = "Host"
const std::string Engine::InInitiatorPropertyNameOld = "IsInitiator"
const std::string Engine::InSeqNumPropertyName = "IN"
const std::string Engine::InSeqNumPropertyNameOld = "IncomingSeqNum"
ProtocolID const Engine::INVALID_PROTOCOL_ID = 0
static

Invalid FIX protocol identifier.

Referenced by FixProtocols::getPredefinedProtocolID(), and FixProtocols::getProtocolID().

const std::string Engine::IsInitiatorPropertyName = "I"
const std::string Engine::LastSentSeqNumPropertyName = "OUT"
const std::string Engine::LastSentSeqNumPropertyNameOld = "LastSentSeqNum"
const int Engine::MAX_FIELD_TYPE_SIZE = 64
const int Engine::MAX_SOCKET_READERS = 3
static
const std::string Engine::MinOutSeqNumPropertyName = "MinOutgoingSeqNum"
const int Engine::MSG_SEQ_NUM_BUF_SIZE = 128
const int Engine::N_SECONDS_IN_24_HOURS = 24 * 60 * 60
const std::string Engine::OutSeqNumPropertyName = "OutgoingSeqNum"
const std::string Engine::PortPropertyName = "P"
const std::string Engine::PortPropertyNameOld = "Port"
const std::string Engine::PrimaryActConnectionValue = "primary"
const char Engine::REJECTED_MARKER[] = "R"
const int Engine::REJECTED_MARKER_SIZE = 1
const std::string Engine::RolePropertyName = "R"
const std::string Engine::RolePropertyNameOld = "Role"
const std::string Engine::SenderPropertyName = "49"
const std::string Engine::SenderPropertyNameOld = "Sender"
const std::string Engine::SessionGlobalIDPropertyName = "SessionID"
const std::string Engine::SessionInternalStatePropertyName = "SessionInternalState"
const int Engine::SOCKET_SEND_BUFFER_SIZE = 256 * 1024
const std::string Engine::StorageIDPropertyName = "StorageID"
const std::string Engine::TargetPropertyName = "56"
const std::string Engine::TargetPropertyNameOld = "Target"
ProtocolID const Engine::TOTAL_PROTOCOL_ID_COUNT = 100
static

Last valid FIX protocol identifier.

const char Engine::UNREJECTED_MARKER[] = " "
const int Engine::USE_RELAXED_RECEIVE = -2
static
const std::string Engine::VersionPropertyName = "8"
const std::string Engine::VersionPropertyNameOld = "Version"