Inner Contents | |
Affecting Packet Gap Detection | |
Low Latency Best Practices [UPDATED] | |
This section provides information about more advanced development techniques supported by the Handler.
FeedEngine provides ability to set affinity mask for threads. For example, OnixS::eSpeed::MarketData::Itch::FeedEngineSettings::threadAffinity methods can be used to run threads on specific processors.
Miscellaneous non-critical issues may occur while handler's instance is being executed. Handler processes such issues by itself, thus no special handling is required in that case. However, sometimes it's reasonable to be notified about such events. For this purpose, handler represents OnixS::eSpeed::MarketData::Itch::WarningListener class and invokes its OnixS::eSpeed::MarketData::Itch::WarningListener::onWarning member each time a non-critical issue occurs.
Handler logs important aspects of its execution. Logs are stored into the directory specified by the OnixS::eSpeed::MarketData::Itch::HandlerSettings::logDirectory member value. Logging includes network data received and processed by handler and, of course, errors occurred at execution time.
Since handlers output logging data into regular files, this affects their performance and sometimes requires significant system resources like space on hard drive. HandlerCore expose several parameters which allows to suppress certain kinds of logging data and thus to reduce load on the file system and increase general performance.
Following table describes logging-related parameters exposed by the OnixS::eSpeed::MarketData::Itch::HandlerSettings structure:
Settings Member | Default value | Description |
logLevel | OnixS::eSpeed::MarketData::Itch::LogLevel::Info | Specifies whether handler's instance must output informational messages about its state as well as which kind of information must be put into the log. For more information, please, take a look at description of OnixS::eSpeed::MarketData::Itch::LogLevel enumeration entries. |
logSettings | OnixS::eSpeed::MarketData::Itch::LogSettings::Default | If logging is activated, this member specifies which additional data must be put into the log. For more information, please, take a look at description of OnixS::eSpeed::MarketData::Itch::LogSettings enumeration entries. |
Following example demonstrates how to enable logging: