The lifecycle of EmaCppNIProvPerf is divided into the following sections:
1. Application and Enterprise Message API Initialization.
In this phase EmaCppNIProvPerf:
• Loads its configuration.
• Initializes the Enterprise Message API.
• Loads its item list, and sample message data using the specified files.
• Starts the thread(s) that will connect to the LSEG Real-Time Advanced Distribution Hub to perform the test.
- The main thread begins cycling: periodically collecting and writing statistics from the connection thread(s).
- Connection threads connect to the LSEG Real-Time Advanced Distribution Hub by using the Enterprise Message API. Once the connection succeeds, the test begins and any subsequent disconnection ends the test.
2. LSEG Real-Time Advanced Distribution Hub Login and Directory.
3. The connection thread configures the Enterprise Message API to perform login operation, publish its service,Provide Open Message Model content.
The connection thread begins providing the items specified in its item list, continually performing the following actions:
• Send a burst of updates for open items.
• If refreshes are needed, use spare time in the tick to send them.
• Using any spare time left, read from the transport and process incoming messages.
4. Application shutdown and cleanup.
The connection thread disconnects and stops. The main thread collects any remaining information from the connection threads, cleans them up, and writes the final summary statistics. The main thread then cleans up the Enterprise Message API and any remaining resources and then exits.
Run EmaCppNIProvPerf for a long enough period of time to allow for connected consumers to complete their measurements.