A typical Open Message Model consumer application requests content and processes responses to those requests. Thus, the performance consumer makes a large, configurable number of item requests and then processes refresh and update content corresponding to those requests. While processing, the performance consumer decodes all content and collects statistics regarding the count and latency of received messages.
The EmaCppConsPerf implements an OMM consumer using the Enterprise Message API C++ Edition. It connects to a provider (such as EmaCppIProvPerf or LSEG Real-Time Distribution System), requests items, and processes the refresh and update messages it receives, calculating statistics such as update rate and latency. Additionally, the consumer can send post messages through the system at a configured rate, measuring the round-trip latency of posted content.
At startup, the consumer performs some administrative tasks, such as logging into the system, obtaining a source directory, and maybe requesting a dictionary. After the consumer is satisfied that the correct service is available and that the provider is accepting requests, the consumer begins requesting data. EmaCppConsPerf uses Enterprise Message API to complete its start-up tasks. For more information, refer to the Enterprise Message API Developers Guide.