Replay Processing
To provide message replay capability, each ITC channel has a separate set of gateway instances and multicast addresses to replay requested data. If a sequence number gap is detected, a replay request can be initiated for message recovery. The requested data for the channel(s) are transmitted through the appropriate replay gateway and multicast address.
...
Info |
---|
Customers connected to a replay channel will also receive replay requests from other customers that will impact bandwidth utilization. |
Replay Request
When initiating a replay request, the MDP client application initiates a TCP connection to the CME Group MDP Gateway. After establishing a socket connection, a replay request is sent to the CME MDP Gateway and a response message is sent with information indicating the success or failure of the request.
...
The request and response message formats are detailed below:
Request
Example:
User=CME{SOH}Password=***{SOH}RequestType=REPLAY{SOH}Begin=1{SOH}End=100{SOH}Channel=1{SOH}
...
Field | Value | Description | Section |
---|---|---|---|
User | String | CME Group-provided user name for each firm | Header |
SOH | |||
Timestamp | String | Time stamp of when request was processed | Header |
SOH | |||
Request Type | String | ‘REPLAY’ for sequence number recovery | Header |
SOH | |||
Result | String | Indicated result of request Result Code Meaning:
| Body |
SOH | |||
Channel | String | Channel of sequence number range to be replayed | Body |
SOH |
...
Replay Messages
With each request to replay missed or lost messages, a system message is sent preceding the message replay to alert applications of the dataset. System messages must be used to process replay requests efficiently.
...
Field | Value | Description | Section |
---|---|---|---|
Type | String |
| Header |
SOH | |||
Channel | String | The channel to be replayed (i.e. ‘1’) | Body |
SOH | |||
Request Begin | String | Beginning number of sequence requested | Body |
SOH | |||
Request End | String | Ending number of sequence requested | Body |
SOH | |||
Begin | String | Beginning sequence number being sent | Body |
SOH | |||
End | String | Ending sequence number being sent | Body |
SOH | |||
Timestamp | String | Timestamp of proposed request | Body |
SOH | |||
Channel | String | 1 | Body - Heartbeat |
SOH | |||
Channel | String | 1 | Body - Announcement |
SOH | |||
Detail | String | Details of announcement | Body - Announcement |
SOH |
...
Replay Batching
The CME Group MDP replay mechanism leverages a batching algorithm to process and respond to replay requests more efficiently. Each group of requests within a channel is analyzed for sequence number overlap to combine similar requests into one replay stream. A reasonable gap is used to group requests that may be close to overlapping.
...