B2BITS FIX Antenna C++  2.31.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Engine Namespace Reference

FIX Engine namespace. More...

Namespaces

 AdminSessionName
 Admin session specific parameters prefixes.
 
 BuiltinMessageStorage
 
 FastScp11
 Fast session control protocol (scp) namespace.
 
 FIXPropertiesNames
 List of all engine.properties parameters.
 
 Mapping
 
 Monitoring
 
 RawDataTypeProcessingStrategies
 
 ScheduleName
 Schedule specific parameters prefixes.
 
 ScheduleParameters
 List of all schedule specific parameters which can be configured in the engine.properties.
 
 SessionName
 Session specific parameters prefixes.
 
 SessionParameters
 List of all session specific parameters which can be configured in the engine.properties.
 
 TZTimeHelper
 

Classes

class  AdminApplication
 Administrative application interface. More...
 
class  AfterMessageIsSentEvent
 The session just has sent messages pack to the socket (as a single call). More...
 
class  Application
 Generic application interface. More...
 
class  BasicString
 Represents ASCII std::string. More...
 
class  BeforeMessageIsSentEvent
 The session is going to send messages pack to the socket (as a single call). More...
 
class  CacheHolderBase
 
class  CronSessionScheduleTimeline
 Cron expression based schedule events generator implementation. More...
 
struct  CronSessionsScheduleParameters
 Cron expression based schedule events generator implementation parameters holder class. More...
 
class  DebugMessage
 Represents debug message. More...
 
class  Decimal
 Encapsulates float type. More...
 
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  FastCodec
 A factory for FastCoder and FastDecoder. More...
 
class  FastCoder
 Encodes FIX messages to FAST messages. More...
 
class  FastDecoder
 Decodes buffers, that contains FAST messages, to FIX messages. More...
 
struct  FastMappingOptions
 
struct  FastSessionExtraParameters
 Parameters of the FIX-over-FAST session. More...
 
class  FieldValueT
 Represents value of field. More...
 
class  FixEngine
 FIX Engine interface. More...
 
class  FixEngineSessionsController
 
Implementation of sessions controller interface the utilizes FixAntenna engine to operate. More...
 
struct  FixField
 FIX field (tag and value). More...
 
class  FixFieldsContainer
 Auxiliary class that encapsulates FixFieldsList and helps to use it in another CRT. More...
 
class  FixFieldsFunctor
 Base class for iterating over fields of FIXMessage. More...
 
class  FixFieldsVisitor
 
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...
 
class  FixMessages
 FIX Engine interface. More...
 
class  FIXMsgFactory
 Creates FIXMessages. More...
 
class  FIXMsgHelper
 
class  FIXMsgProcessor
 Processes raw messages and provides message verification capabilities. More...
 
struct  FixSessionStatisticsLite
 Lightweight FIX Session statistics with small performance overhead. More...
 
struct  FixT11TcpBackupParameters
 The FIXT11_TCP underlying protocol backup properties. More...
 
struct  FixT11TcpParameters
 The FIXT11_TCP underlying protocol properties. More...
 
struct  FixTcpBackupParameters
 The FIX_TCP underlying protocol backup properties. More...
 
struct  FixTcpParameters
 The FIX_TCP underlying protocol properties. More...
 
class  GenericPreparedMessage
 Provides minimal functionality to work with prepared fields. More...
 
struct  HeaderFields
 Contains FIX message header fields. More...
 
class  HeartbeatWithTestReqIDEvent
 A Heartbeat message (MsgType = 0) with the TestReqID field (tag = 112) is received. More...
 
class  IncomingThrottlerTriggeredEvent
 
class  InMsgSeqNumTooLowEvent
 Incoming message sequence number is too low. More...
 
struct  InternalState
 Encapsulates the internal state. More...
 
class  LinkErrorWasDetected
 A telecommunication link error was detected. More...
 
class  LinkWasRestored
 A telecommunication link was restored. More...
 
class  ListenPort
 
class  LocalMktDate
 Encapsulates LocalMktDate FIX type. More...
 
class  LogonEvent
 The Logon message has been received from the counterparty. More...
 
class  LogoutEvent
 The session was closed. More...
 
class  MemBlock
 Represents reference to the memory block. More...
 
class  MessageStorageException
 Exceptions of this class is thrown by message storages to indicate the storage specific failure. More...
 
class  MessageStorageType
 Object representing FA's message storage. More...
 
class  MonthYear
 Encapsulates MonthYear FIX type. More...
 
struct  MsgFilter
 Message filter. More...
 
class  MsgRejectEvent
 Encapsulates rejected application message. More...
 
class  MsgStorage
 Basic message storage. More...
 
class  NewIncomingConnection
 New Incoming Connection. More...
 
class  NewIncomingConnectionError
 New Incoming Connection Error. More...
 
class  NewStateEvent
 The session has changed its state. More...
 
class  Notification
 Represents notification event. More...
 
class  OutgoingSessionLevelRejectEvent
 A SessionReject message was sent. More...
 
class  ParseErrorInSession
 Parse error was detected. More...
 
struct  ParserDescription
 
class  ParseWarningInSession
 Parse error was detected. More...
 
class  PersistentDataWereFound
 This event is fired when the persistent information about session is found. More...
 
class  PreparedMessage
 Alternative for FIXMessage class. More...
 
class  PropertiesFile
 Loader for any file with properties like 'engine.properties'. More...
 
class  ProtocolIndex
 Protocol index in the parser. 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
 FIX Session. More...
 
struct  SessionBackupParameters
 Encapsulates connection's host and port. More...
 
struct  SessionContext
 Keeps information about administrative session context. More...
 
class  SessionDebugMessage
 Represents debug message related to Session. More...
 
class  SessionError
 Error related to Session. More...
 
class  SessionEvent
 A generic session-level event. More...
 
struct  SessionExtraParameters
 Session's extra parameters. More...
 
struct  SessionId
 Session Identificator structure. More...
 
class  SessionLevelRejectEvent
 A SessionReject message was received. More...
 
class  SessionLogonError
 Error related to Session Logon. More...
 
class  SessionLogonWarning
 Warning related to Session Logon. More...
 
class  SessionNotification
 Represents notification event related to Session. More...
 
class  SessionsController
 Abstract class(interface) that introduces API contract of sessions controller. More...
 
class  SessionsControllerException
 Sessions controller exception class. More...
 
class  SessionsManager
 An interface for managing sessions. More...
 
class  SessionsSchedule
 Implementation of System::Schedule that allows to set SessionsScheduleManager as callbacks sink. More...
 
class  SessionsScheduleManager
 Abstract class(interface) that introduces API contract of sessions schedule manager. More...
 
class  SessionWarning
 Represents warning event related to Session. More...
 
class  SessionWasClosed
 Session was closed. More...
 
class  SessionWasCreated
 Session was created. More...
 
class  SessionWasEstablished
 Session was established. More...
 
class  SessionWasRejected
 Session was rejected. More...
 
class  SessionWasRestored
 Session was restored from Persistent Message Storage. More...
 
class  SSLContextConfiguratorConverter
 
struct  SSLCustomContextProperties
 
struct  Statistics
 Statistical information about the current state of FIX Engine. More...
 
class  StatisticsProvider
 Provides detailed statistics about the current state of the FIX Engine. More...
 
class  StorableMsg
 Defines contract of the message to be stored in storage. More...
 
class  StorableMsgRemote
 Defines contract of the remote message to be stored in storage. More...
 
class  StorageMgr
 Manages MsgStorages. More...
 
struct  StrCaseInsComp
 Meyer's case-insensitive comparision functor. More...
 
class  StringEx
 String class. More...
 
class  SwitchConnectionEvent
 The session has changed its state. More...
 
class  TagValue
 Represents tag-value structure. More...
 
class  TimezoneConverter
 
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 Utils::ReferenceCounterSharedPtr< CronSessionScheduleTimelineCronSessionScheduleTimelinePtr
 
typedef std::string DictionaryID
 Unique dictionary identifier. More...
 
typedef std::map< std::string, std::string > EngineProperties
 
typedef FastScp11::Decoder FastScp11Decoder
 
typedef Utils::ReferenceCounterSharedPtr< FixEngineSessionsControllerFixEngineSessionsControllerPtr
 
typedef std::vector< FixFieldFixFieldsList
 Typename for the fields list. More...
 
typedef std::map< FIXVersion, DictionaryIDFixVersionToProtocolName
 Assigns FIXVersion and id of the FIX dictionary. More...
 
typedef Decimal Float
 Represents float FIX type. More...
 
typedef System::i64 Integer
 Represents integer FIX type. More...
 
typedef System::IPAddr IPAddr
 
typedef std::vector< ListenPortListenPorts
 
typedef LocalMktDate LocalMktDateType
 Represents LocalMktDate FIX type. More...
 
typedef MonthYear MonthYearType
 Represents MonthYear FIX 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 ParserID
 Unique parser identifier. More...
 
typedef std::map< ParserID, ParserNameParserIDToParserName
 
typedef std::shared_ptr< ParserIDToParserName const > ParserIDToParserNamePtr
 
typedef std::string ParserName
 Represents parser name. More...
 
typedef unsigned int PreparedFieldIndex
 Index of the field in the PreparedMessage. More...
 
typedef unsigned int ProtocolID
 Unique protocol identifier. More...
 
typedef std::map< ProtocolIndex, DictionaryIDProtocolIndexToProtocolName
 Assigns protocol index in the parser and id of the FIX dictionary. More...
 
typedef std::vector< DictionaryIDProtocolNames
 Collection of protocol names. More...
 
typedef std::vector< std::pair< Engine::SessionId, ScheduleSessionActions > > ScheduleExecutionPlan
 Sessions schedule manager execution plan type. More...
 
typedef Utils::ReferenceCounterSharedPtr< SessionsControllerSessionsControllerPtr
 
typedef Utils::ReferenceCounterSharedPtr< SessionsScheduleSessionsSchedulePtr
 
typedef Utils::ReferenceCounterSharedPtr< SSLContextConfiguratorConverterSSLContextConfiguratorConverterPtr
 
typedef std::map< const char *, const char *, StrCaseInsCompStringProperties
 Map of pairs (key, value) for properties. More...
 
typedef BasicString< char > StringRef
 AsciiString. More...
 
typedef UInteger TagNum
 Represents TagNum FIX type. More...
 
typedef Utils::ReferenceCounterSharedPtr< TimezoneConverterTimezoneConverterPtr
 
typedef Utils::Emptily< System::affinity64_tTriAffinity64
 
typedef Utils::Emptily< bool > TriBool
 
typedef Utils::Emptily< int > TriInt
 
typedef Utils::Emptily< Engine::MessageStorageTypeTriMessageStorageType
 
typedef Utils::Emptily< SessionExtraParametersTriSessionExtraParameters
 
typedef Utils::Emptily< StorageRecoveryStrategyEnumTriStorageRecoveryStrategy
 
typedef Utils::Emptily< unsigned char > TriTagsDelimiter
 
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 ByteArray Utf8String
 Utf8String. More...
 
typedef BasicString< wchar_t > WideString
 WideString. More...
 
typedef BasicString< wchar_t > WStringRef
 WideString. More...
 

Enumerations

enum  ConfirmingLogonStrategy {
  CLS_DEFAULT = 0, REJECT_LOGOUT = 0, CONFIRM_LOGOUT = 1, SILENT_LOGOUT = 2,
  TOTAL_CLS_TYPES
}
 Defines application behavior in case of the Logout message being received instead of the confirming Logon message as an Initiator. More...
 
enum  CustomSessionType { GENERIC = 0, LME_SELECT = 1, CME_SECURE_LOGON = 2, TOTAL_SSN_TYPES }
 Encryption method. More...
 
enum  EncryptMethod {
  NONE = 0, PKCS = 1, DES = 2, PKCS_DES = 3,
  PGP_DES = 4, PGP_DES_MD5 = 5, PEM_DES_MD5 = 6, EncryptMethod_NA = 7,
  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, FIXLatest = 10, FIXT11 = 11,
  FIX50SP1CME = 12, FAST_FIX44 = 13, FIXVersion_Last
}
 FIX protocol version. More...
 
enum  ForceSeqNumResetMode { FSNR_NA, FSNR_ON, FSNR_ALWAYS, FSNR_OFF }
 Force SeqNum Reset mode. 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  PortRole { NA_PORT_ROLE = 0, COMMON_LISTEN_PORT = 1, ADMIN_LISTEN_PORT = 2, SECURED_LISTEN_PORT = 4 }
 Defines engine port roles. More...
 
enum  ScheduleSessionActions { ScheduleSessionActions_Start, ScheduleSessionActions_Connect, ScheduleSessionActions_Disconnect, ScheduleSessionActions_Stop }
 Execution plan actions. More...
 
enum  SessionRole { NA_SESSION_ROLE = 0, INITIATOR_SESSION_ROLE = 1, ACCEPTOR_SESSION_ROLE =2 }
 Defines role of session. More...
 
enum  SocketOpPriority {
  NA_SOCKET_OP_PRIORITY = 0, AGGRESSIVE_SEND_SOCKET_OP_PRIORITY = 1, AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY = 2, EVEN_SOCKET_OP_PRIORITY = 4,
  DIRECT_SEND_SOCKET_OP_PRIORITY = 8, AGGRESSIVE_WITH_DIRECT_SEND_SOCKET_OP_PRIORITY = AGGRESSIVE_SEND_SOCKET_OP_PRIORITY | DIRECT_SEND_SOCKET_OP_PRIORITY, AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY = AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY | AGGRESSIVE_WITH_DIRECT_SEND_SOCKET_OP_PRIORITY
}
 The priorities of the messages send receive operations. More...
 
enum  StorageRecoveryStrategyEnum {
  SRS_RECOVERY_NONE = 0x00000000, SRS_CREATE_NEW = 0x00000001, SRS_DEFAULT = SRS_RECOVERY_NONE, SRS_TOTAL = 0x00000002,
  SRS_FORCE_DWORD = 0xFFFFFFFF
}
 Enumeration of the recovery storage strategy. More...
 
enum  ThrottlerAction {
  TerminateWithLogout, TerminateNonGracefully, SendReject, Skip,
  SkipAllThrottlers, Wait
}
 Throttler action. More...
 
enum  ThrottlerStreamDirection { THROTTLE_INCOMING, THROTTLE_OUTGOING }
 Message stream direction. More...
 
enum  ThrottlerType { SlidingWindowMessages }
 Throttler type. More...
 
enum  Transport { SOCKETS, MYRICOM_DBL, Transport_Last }
 Set of transports. More...
 
enum  UnderlyingProtocol { FIX_TCP, FIXT11_TCP, FIXT11_FAST_TCP }
 Set of the supported underlying protocols. More...
 

Functions

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!= (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
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...
 
V12_API bool operator< (MessageStorageType const &lhs, MessageStorageType const &rhs)
 
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< (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
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 UTCTimestamp &v)
 Writes a UTCTimestamp into the output stream. More...
 
V12_API std::ostream & operator<< (std::ostream &s, const Decimal &rv)
 Stream writer. More...
 
V12_API StringExoperator<< (StringEx &s, const Decimal &rv)
 StringEx writer. More...
 
V12_API std::ostream & operator<< (std::ostream &ostm, const MessageStorageType &type)
 
std::ostream & operator<< (std::ostream &os, const ProtocolIndex indx)
 
V12_API std::ostream & operator<< (std::ostream &stream, AsciiString value)
 Writes AsciiString to the stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, WideString value)
 Writes AsciiString to the stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, ByteArray value)
 Writes ByteArray to the stream. More...
 
V12_API std::ostream & operator<< (std::ostream &stream, StringEx const &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...
 
V12_API bool operator<= (MessageStorageType const &lhs, MessageStorageType const &rhs)
 
bool operator<= (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
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== (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
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...
 
V12_API bool operator> (MessageStorageType const &lhs, MessageStorageType const &rhs)
 
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> (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
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 bool operator>= (MessageStorageType const &lhs, MessageStorageType const &rhs)
 
bool operator>= (const ProtocolIndex lhs, const ProtocolIndex rhs)
 
void V12_API removeCustomFields (FIXMessage *msg)
 Removes custom fields (tag > 6000) from message. More...
 
V12_API void swap (MessageStorageType &lhs, MessageStorageType &rhs)
 swap() as a free function with ADL and non-throwing guarantee. More...
 

Variables

const MessageStorageType custom_storageType = MessageStorageType::custom()
 
const MessageStorageType default_storageType = MessageStorageType::default_()
 Configurable from engine.properties. More...
 
static ParserID const INVALID_PARSER_ID = 0
 Invalid ParserID. More...
 
static ProtocolID const INVALID_PROTOCOL_ID = INVALID_PARSER_ID
 Invalid ProtocolID. More...
 
const MessageStorageType invalid_storageType = MessageStorageType::invalid()
 Special instance representing incorrect storage type. More...
 
static ParserID const MINIMUM_PARSER_COUNT = 100
 A minimum amount of parsers that can be configured. More...
 
const MessageStorageType null_storageType = MessageStorageType::builtin(BuiltinMessageStorage::Null)
 Simple storage, that does not store anything - fast. More...
 
const MessageStorageType persistent_storageType = MessageStorageType::builtin(BuiltinMessageStorage::Persistent)
 File storage - slow and safe. More...
 
const MessageStorageType persistentMM_storageType = MessageStorageType::builtin(BuiltinMessageStorage::PersistentMM)
 Memory mapped file storage - fast and safe. More...
 
const MessageStorageType splitPersistent_storageType = MessageStorageType::builtin(BuiltinMessageStorage::SplitPersistent)
 Sliced file storage - fast and safe. More...
 
static ParserID const TOTAL_PARSER_ID_COUNT = MINIMUM_PARSER_COUNT
 Last valid FIX parser identifier. More...
 
static ProtocolID const TOTAL_PROTOCOL_ID_COUNT = TOTAL_PARSER_ID_COUNT
 Last valid FIX protocol identifier. More...
 
const MessageStorageType total_storageType = MessageStorageType::total()
 Special instance representing total number of storages for iteration. More...
 
const MessageStorageType transient_storageType = MessageStorageType::builtin(BuiltinMessageStorage::Transient)
 Memory storage - fast but dangerous. More...
 

Detailed Description

FIX Engine namespace.

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

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

Typedef Documentation

◆ Addresses

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

Collection of ip addresess.

◆ AsciiString

AsciiString.

◆ ByteArray

typedef MemBlock<unsigned char> Engine::ByteArray

ByteArray.

◆ CronSessionScheduleTimelinePtr

◆ DictionaryID

typedef std::string Engine::DictionaryID

Unique dictionary identifier.

Deprecated:
Use ParserID instead.

◆ EngineProperties

typedef std::map<std::string, std::string> Engine::EngineProperties

◆ FastScp11Decoder

◆ FixEngineSessionsControllerPtr

◆ FixFieldsList

typedef std::vector<FixField> Engine::FixFieldsList

Typename for the fields list.

◆ FixVersionToProtocolName

Assigns FIXVersion and id of the FIX dictionary.

◆ Float

Represents float FIX type.

◆ Integer

typedef System::i64 Engine::Integer

Represents integer FIX type.

◆ IPAddr

◆ ListenPorts

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

◆ LocalMktDateType

Represents LocalMktDate FIX type.

◆ MonthYearType

Represents MonthYear FIX type.

◆ MsgTypes

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

Set of FIX message types.

◆ MultipleChar

typedef std::vector<char> Engine::MultipleChar

◆ MultipleString

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

◆ ParserID

typedef unsigned int Engine::ParserID

Unique parser identifier.

◆ ParserIDToParserName

◆ ParserIDToParserNamePtr

typedef std::shared_ptr<ParserIDToParserName const> Engine::ParserIDToParserNamePtr

◆ ParserName

typedef std::string Engine::ParserName

Represents parser name.

◆ PreparedFieldIndex

typedef unsigned int Engine::PreparedFieldIndex

Index of the field in the PreparedMessage.

◆ ProtocolID

typedef unsigned int Engine::ProtocolID

Unique protocol identifier.

Deprecated:
Use Engine::ParserID instead.

◆ ProtocolIndexToProtocolName

Assigns protocol index in the parser and id of the FIX dictionary.

◆ ProtocolNames

typedef std::vector<DictionaryID> Engine::ProtocolNames

Collection of protocol names.

◆ ScheduleExecutionPlan

Sessions schedule manager execution plan type.

Execution order is guaranteed to be the same as elements order inside ScheduleExecutionPlan. User can add/remove/modify entries. Sessions get to ScheduleExecutionPlan in the same order as they are returned by underlying SessionsController instance. So the first session appears first in ScheduleExecutionPlan the second is second and so on.

◆ SessionsControllerPtr

◆ SessionsSchedulePtr

◆ SSLContextConfiguratorConverterPtr

◆ StringProperties

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

Map of pairs (key, value) for properties.

◆ StringRef

AsciiString.

◆ TagNum

Represents TagNum FIX type.

◆ TimezoneConverterPtr

◆ TriAffinity64

◆ TriBool

◆ TriInt

◆ TriMessageStorageType

◆ TriSessionExtraParameters

◆ TriStorageRecoveryStrategy

◆ TriTagsDelimiter

typedef Utils::Emptily<unsigned char> Engine::TriTagsDelimiter

◆ TriUInt64

typedef Utils::Emptily<System::u64> Engine::TriUInt64

◆ UInteger

typedef System::u64 Engine::UInteger

Represents unsigned integer FIX type.

◆ UTCDateOnlyType

Represents UTCDateOnly FIX type.

◆ UTCTimeOnlyType

Represents UTCTimeOnly FIX type.

◆ UTCTimestampType

Represents UTCTimestamp FIX type.

◆ Utf8String

Utf8String.

◆ WideString

typedef BasicString<wchar_t> Engine::WideString

WideString.

◆ WStringRef

typedef BasicString<wchar_t> Engine::WStringRef

WideString.

Enumeration Type Documentation

◆ ConfirmingLogonStrategy

Defines application behavior in case of the Logout message being received instead of the confirming Logon message as an Initiator.

Enumerator
CLS_DEFAULT 

Default value == REJECT_LOGOUT.

REJECT_LOGOUT 

Session do not expect to receive Logout, message will be ignored, session will be closed after sending the Logout message.

CONFIRM_LOGOUT 

Session expect to receive Logout, message will affect InSeqNum, session will reply with confirming Logout and wait for acceptor to close the connection.

SILENT_LOGOUT 

Session expect to receive Logout, message will affect InSeqNum, session will wait for acceptor to close the connection without reply.

TOTAL_CLS_TYPES 

Represents number of strategies.

◆ CustomSessionType

Encryption method.

Enumerator
GENERIC 

generic session

LME_SELECT 

encrypt password tag each time

CME_SECURE_LOGON 
TOTAL_SSN_TYPES 

< CME Secure logon support

Represents number of sessions types

◆ EncryptMethod

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_NA 

Non-initialized.

EncryptMethod_Last 

◆ FIXVersion

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.

FIXLatest 

FIXLatest.

FIXT11 

FIXT 1.1.

FIX50SP1CME 

FIX 5.0 SP1 CME.

FAST_FIX44 
FIXVersion_Last 

Represents number of FIX protocols.

◆ ForceSeqNumResetMode

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.

◆ OutOfSequenceMessagesStrategyEnum

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 

◆ PortRole

Defines engine port roles.

Enumerator
NA_PORT_ROLE 

Not initialized PortRole.

COMMON_LISTEN_PORT 

port accepts common FIX sessions

ADMIN_LISTEN_PORT 

port accepts admin FIX sessions. This is obsolete value and is kept for backward compartibility only!.

SECURED_LISTEN_PORT 

port uses SSL encryption

◆ ScheduleSessionActions

Execution plan actions.

Enumerator
ScheduleSessionActions_Start 

Ask sessions controller to start session.

ScheduleSessionActions_Connect 

Ask sessions controller to connect session.

ScheduleSessionActions_Disconnect 

Ask sessions controller to disconnect session.

ScheduleSessionActions_Stop 

Ask sessions controller to stop session.

◆ SessionRole

Defines role of session.

Enumerator
NA_SESSION_ROLE 

NA.

INITIATOR_SESSION_ROLE 

Session is acceptor.

ACCEPTOR_SESSION_ROLE 

Session is initiator.

◆ SocketOpPriority

The priorities of the messages send receive operations.

Enumerator
NA_SOCKET_OP_PRIORITY 

Not initialized SocketOpPriority.

AGGRESSIVE_SEND_SOCKET_OP_PRIORITY 

Use dedicated thread to send messages.

AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY 

Use dedicated thread to receive messages.

EVEN_SOCKET_OP_PRIORITY 

Use thread pool to send/receive messages.

DIRECT_SEND_SOCKET_OP_PRIORITY 

Tries sending from the calling thread, use a thread pool if that would block.

AGGRESSIVE_WITH_DIRECT_SEND_SOCKET_OP_PRIORITY 

Use dedicated thread to send messages, use direct send when possible.

AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY 

Use dedicated thread to send and receive messages.

◆ StorageRecoveryStrategyEnum

Enumeration of the recovery storage strategy.

Enumerator
SRS_RECOVERY_NONE 
SRS_CREATE_NEW 
SRS_DEFAULT 
SRS_TOTAL 
SRS_FORCE_DWORD 

◆ ThrottlerAction

Throttler action.

Enumerator
TerminateWithLogout 
TerminateNonGracefully 
SendReject 
Skip 
SkipAllThrottlers 
Wait 

◆ ThrottlerStreamDirection

Message stream direction.

Enumerator
THROTTLE_INCOMING 
THROTTLE_OUTGOING 

◆ ThrottlerType

Throttler type.

Enumerator
SlidingWindowMessages 

sliding window algorithm that counts messages

◆ Transport

Set of transports.

Enumerator
SOCKETS 

Kernel sockets.

MYRICOM_DBL 

Myricom TA.

Transport_Last 

◆ UnderlyingProtocol

Set of the supported underlying protocols.

Enumerator
FIX_TCP 

simple TCP socket with same application and session protocols.

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

FIXT11_TCP 

simple TCP socket with FIXT.1.1 session protocol

FIXT11_FAST_TCP 

FIX over FIXT.1.1 over FAST.

Function Documentation

◆ operator!=() [1/8]

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.

◆ operator!=() [2/8]

bool Engine::operator!= ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ operator!=() [3/8]

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.

◆ operator!=() [4/8]

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.

◆ operator!=() [5/8]

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.

◆ operator!=() [6/8]

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

Compares FieldValue and object.

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

◆ operator!=() [7/8]

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

Compares FieldValue and object.

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

◆ operator!=() [8/8]

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

Compares two FieldValues.

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

◆ operator<() [1/6]

V12_API bool Engine::operator< ( MessageStorageType const &  lhs,
MessageStorageType const &  rhs 
)

◆ operator<() [2/6]

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.

◆ operator<() [3/6]

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.

◆ operator<() [4/6]

bool Engine::operator< ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ operator<() [5/6]

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.

◆ operator<() [6/6]

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().

◆ operator<<() [1/14]

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

Writes a LocalMktDate into the output stream.

◆ operator<<() [2/14]

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

Writes a MonthYear into the output stream.

◆ operator<<() [3/14]

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

Writes a UTCDateOnly into the output stream.

◆ operator<<() [4/14]

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

Writes a UTCTimeOnly into the output stream.

◆ operator<<() [5/14]

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

Writes a UTCTimestamp into the output stream.

◆ operator<<() [6/14]

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

Stream writer.

◆ operator<<() [7/14]

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

StringEx writer.

◆ operator<<() [8/14]

V12_API std::ostream& Engine::operator<< ( std::ostream &  ostm,
const MessageStorageType type 
)

◆ operator<<() [9/14]

std::ostream& Engine::operator<< ( std::ostream &  os,
const ProtocolIndex  indx 
)
inline

◆ operator<<() [10/14]

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

Writes AsciiString to the stream.

◆ operator<<() [11/14]

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

Writes AsciiString to the stream.

◆ operator<<() [12/14]

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

Writes ByteArray to the stream.

◆ operator<<() [13/14]

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

Writes ByteArray to the stream.

◆ operator<<() [14/14]

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

Writes FieldValue to the std::ostream.

◆ operator<=() [1/2]

V12_API bool Engine::operator<= ( MessageStorageType const &  lhs,
MessageStorageType const &  rhs 
)

◆ operator<=() [2/2]

bool Engine::operator<= ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ operator==() [1/8]

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.

◆ operator==() [2/8]

bool Engine::operator== ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ operator==() [3/8]

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.

◆ operator==() [4/8]

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.

◆ operator==() [5/8]

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.

◆ operator==() [6/8]

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

Compares FieldValue and object.

◆ operator==() [7/8]

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

Compares FieldValue and object.

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

◆ operator==() [8/8]

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

Compares two FieldValues.

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

◆ operator>() [1/6]

V12_API bool Engine::operator> ( MessageStorageType const &  lhs,
MessageStorageType const &  rhs 
)

◆ operator>() [2/6]

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.

◆ operator>() [3/6]

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.

◆ operator>() [4/6]

bool Engine::operator> ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ operator>() [5/6]

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.

◆ operator>() [6/6]

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.

◆ operator>=() [1/2]

V12_API bool Engine::operator>= ( MessageStorageType const &  lhs,
MessageStorageType const &  rhs 
)

◆ operator>=() [2/2]

bool Engine::operator>= ( const ProtocolIndex  lhs,
const ProtocolIndex  rhs 
)
inline

◆ removeCustomFields()

void V12_API Engine::removeCustomFields ( FIXMessage msg)

Removes custom fields (tag > 6000) from message.

Parameters
msgInstance of FIXMessage

◆ swap()

V12_API void Engine::swap ( MessageStorageType lhs,
MessageStorageType rhs 
)

swap() as a free function with ADL and non-throwing guarantee.

Variable Documentation

◆ custom_storageType

const MessageStorageType Engine::custom_storageType = MessageStorageType::custom()
Warning
This instance is provided for backward compatibility and is deprecated.

◆ default_storageType

const MessageStorageType Engine::default_storageType = MessageStorageType::default_()

Configurable from engine.properties.

◆ INVALID_PARSER_ID

ParserID const Engine::INVALID_PARSER_ID = 0
static

Invalid ParserID.

◆ INVALID_PROTOCOL_ID

ProtocolID const Engine::INVALID_PROTOCOL_ID = INVALID_PARSER_ID
static

Invalid ProtocolID.

Deprecated:
Use INVALID_PARSER_ID instead.

◆ invalid_storageType

const MessageStorageType Engine::invalid_storageType = MessageStorageType::invalid()

Special instance representing incorrect storage type.

◆ MINIMUM_PARSER_COUNT

ParserID const Engine::MINIMUM_PARSER_COUNT = 100
static

A minimum amount of parsers that can be configured.

◆ null_storageType

Simple storage, that does not store anything - fast.

◆ persistent_storageType

File storage - slow and safe.

◆ persistentMM_storageType

Memory mapped file storage - fast and safe.

◆ splitPersistent_storageType

Sliced file storage - fast and safe.

SplitStorage stores messages to the file of fixed size. If size of the file has reached the limit, storage closes file and creates new one. It allows to allocate storage on the RAM drive and move chunks of the storage to HDD in parallel. RAM drive should be connected to power supply to avoid data loss.

◆ TOTAL_PARSER_ID_COUNT

ParserID const Engine::TOTAL_PARSER_ID_COUNT = MINIMUM_PARSER_COUNT
static

Last valid FIX parser identifier.

Deprecated:
Use MaximumParsersAllowed engine's parameter instead

◆ TOTAL_PROTOCOL_ID_COUNT

ProtocolID const Engine::TOTAL_PROTOCOL_ID_COUNT = TOTAL_PARSER_ID_COUNT
static

Last valid FIX protocol identifier.

Deprecated:
Use MaximumParsersAllowed engine's parameter instead

◆ total_storageType

const MessageStorageType Engine::total_storageType = MessageStorageType::total()

Special instance representing total number of storages for iteration.

Warning
This instance provided for backward compatibility and is deprecated. Iterate over StorageMgr registered instances instead.

◆ transient_storageType

Memory storage - fast but dangerous.