We are connecting to TREP via a JAVA RFA API, once connected we will subscribe to RIC updates for a large set of RICs.
Q1. There is a connection Event we can use to determine the status of the connection.
Can you please explain some of the circumstances in Reuters which would lead to these connection events?
For example at the close of Market do you send a down?
Q2. Do Reuters provide information as to when the RIC is not being updated (data is stale)? Can we use the Quality of Service field to check this?
Regarding the question 1, the Connection Event represents information of "a connection between API and its peer" only. For the consumer application, it will receives Connection Event when the RSSL connection with TREP/OMM Provider is UP or Down (disconnect).
Please see more detail regarding the Connection Event in section 8.6.1 of RFA Java Development Guide.
The market close does not makes the API sends connection event state DOWN to the application. If there is no update in Elektron, the application will not receive update messages from the API.
For question 2, you can use the OMMState information in the Update/Status Response message to verify the health status of the data.
Example: If the application receives OMMState “Stream.OPEN, Data.SUSPECT” from the API, it means the data is unavailable or unknown (STALE) but the item stream is still opening.
Please see more detail regarding the OMMState in section 10.3.6 of RFA Java Development Guide.
Thanks @Wasin Waeosri
2 follow up questions on the same subject
If the OMMState.data = SUSPECT it seems to imply STALE. Is this something that Reuters calculate or is this something that the Broker/Exchange has decided to tag their data with?
Does the OMMState.data = NO_CHANGE mean that the data is valid but has not changed. If so is this something that the Broker/Exchange has decided to tag their data with?
Please note that the API does not know any information about the Broker or Exchange of that publishes data, it just receive a message (Refresh, Update, Status) from TREP/Elektron and pass it to application "as is".
Please also note that the API handles the STALE (Stream “Open” and Data “Suspect”) scenario automatically and the application does not need to handle this by itself. Once the connection is re-established or the service becomes UP, the application will automatically continue to receive the subscribed data as normal.