The func OnStatusChange called when the data stream recovery but not the real time.

It looks like that the func OnStatusChange not work real time.

I need to get a notify when the link disconnect or the data source status changed.

However i always get the notify when it recovery.

I add my func notify as follow.

void OnStatusChanged(EEikonStatus a_eStatus) {

if (a_eStatus != Connected)

Notify(...);

}

Best Answer

Answers

  • Thank you for your reply.

    I implement my C++ project base on the Realtime example (AdfinXRt) .

    And I tried Inherit class IAdxRtListEventListener to get source status via the func OnStatusChange().

    In my understanding, this func will be called as soon as the data source change .However, I find it always be called when the date source recovery. It means that when the data source status change to RT_SOURCE_DOWN, I can not get it real time. But when the data source recovery, the API tell me it has been down. I'd like to know what should I do to get the state changes in realtime.

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭

    @guzhaowei007
    I assume you're using Eikon Hosted account over the Internet, as I have reproduced the issue as you described it only when I connect to Eikon platform over the Internet. When I connect to local real-time market data infrastructure known as TREP, I do see AdxRtList object raising OnStatusChange event and reporting the source status as RT_SOURCE_DOWN upon disconnect from the network. When Eikon is configured to retrieve real-time market data from local TREP it is important to monitor both the connection to Eikon platform and the connectivity to local TREP. In case of Eikon Hosted account over the Internet all data is retrieved over the same connection, hence you can use the OnStatusChanged event of EikonDesktopDataAPI object, which in my testing is being raised as expected when the network is disconnected.
    The issue you experienced is a deficiency, however it's unlikely to be addressed because Eikon COM APIs are in care & maintenance and only most critical bugs can be considered at this point. For this reason the workaround I described above is probably the best you can do.