Does Elektron Websocket API support Warm Standby?

Does Elektron Websocket API support Warm Standby? I know EMA and ETAC/C++ support Consumer Warm Standby Natively, but does Elektron Websocket API support it, or can it be implemented programmatically via a Websocket application? If so, are there any examples?

Best Answer

  • Gurpreet
    Answer ✓

    Hi @ron.bove,

    I have created a warm standby sample and emailed it to you. Please let me know if you have any questions. Later, I will upload it to the dev portal as well.


Answers

  • @ron.bove

    Thanks for reaching out to us.

    It should be if the WebSocket server supports Warm Standby. You can check this from the login refresh message sent by the server.

        {
            "ID": 1,
            "Type": "Refresh",
            "Domain": "Login",
            "Key": {
                "Name": "...",
                "Elements": {
                ...
                    "SupportStandby": 1,
                    "SupportStandbyMode": 3,
    ...
                }
            },
          ...
            }
        }

    1675733964034.png

    If the server supports Warm Standby, you can use WebSocket API to implement this feature in the client's application.

    You can see the sample messages from the postman examples. For more information, please also refer to the Introduction to Refinitiv Real-Time SDK Warm Standby Feature article.

    I hope that this information is of help.

  • Hi @ron.bove,

    Jirapongse has provided a comprehensive answer - but I would like to emphasize that WebSocket is not an API, but a protocol specification. Hence, maintaining multiple connections and switching from standby to active etc, is not automatically handled for an application, but has to be explicitly coded in.

  • Thank you both @Jirapongse and @Gurpreet for your response. @Gurpreet , that was going to be my next question. What are the complexities of establishing and maintaining multiple websocket connections and do we have any examples of creating "login generic messages" in JSON, required to inform the provider of its active/standby state?
  • Hi @ron.bove, I couldn't find any example which demonstrates the warm standby. I can try to cook something up, if you need - which language should it be in and what is the timeframe.
  • Thanks @Gurpreet, At this point we are just trying to confirm that its technically feasible, using the Websocket API, which it appears to be, and what's the relative complexity to implement such a solution. We appreciate the offer but its not necessary right now.
  • It shouldn't be too complicated. I will work on a sample when I get time - would be good to have it around in the dev portal.
  • FYI:

    I was looking into this earlier and did note that the ADS / RTC Sys Admin manuals (v 3.6.3) state that Warm Standby is only supported for RSSL type connections:

    ADS Sysadmin manual section 20.2

    1675788404703.png


    A similar statement is present in the RTC 3.6.3 document (section 7.3)

  • Good catch - only way to find out is to try it out.
  • Ok, I have tried a few things and confirmed that warm standby works with websockets. I will formulate this into a working sample.