How is the completion event different than status message indicating event stream is closed

Hello, we use RFA 8.2 C++ api to consume Level1 and Level2 market data with Open DACS integrated. We want to ensure that DACS check fail for symbols for which api will never give any data in the future. It could be because symbol is bad .. etc. We plan to handle this using status message indicating event stream is closed for given subscription.

Alternative approach is to register for completion event and do it in completion event. But problem with this approach is that, completion event is received even for subscription closed by user by calling `unregisterClient()`.

What approach do you suggest?

Best Answer

  • Jirapongse
    Answer ✓

    @mktdata

    Thank you for reaching out to us.

    As mentioned in the developer guide, the application should use the isEventStreamClosed() function.

    1724206765751.png


Answers

  • @Jirapongse We already check for event stream state value if it is "Closed" OR "ClosedRecover" OR "Redirected" in status message callback. Do we still need to check for `isEventStreamClosed()`? Also Is there a use case where we expect status message to be received indicating even stream is closed but completion event is NOT expected. This is obviously after assumption application registered for completion event.


    Is there any difference?



  • @mktdata

    The isEventStreamClosed() should cover ComplEvent, Closed, ClosedRecover, Redirected, and NonStreaming.

    However, please contact the API support team directly via Contact Premium Support to confirm it.