question

Upvotes
Accepted
0 0 2 1

SingleOpen and AllowSuspect setting

Hi,

I have been told by my TAM that if I want to handle our own failover, we need to set allowSuspectData and singleOpen both to FALSE

Looking at the documentation.

{code}
AllowSuspectData - void setAllowSuspectData( AllowSuspectData::SupportType );

class RFA_VALUE_ADD_API AllowSuspectData
{
public :

/** \enum SupportType
* An enumeration representing supported AllowSuspectData support type values
*/
enum SupportType {
NotSupported = 0, /*!< indicates no support for AllowSuspectData functionality */
Supported = 1 /*!< indicates support for AllowSuspectData functionality */
};

private :
AllowSuspectData();
};

/** method to set requested SingleOpen support type
*/
void setSingleOpen( SingleOpen::SupportType );
class RFA_VALUE_ADD_API SingleOpen
{
public :

/** \enum SupportType
* An enumeration representing supported SingleOpen support type values
*/
enum SupportType {
NotSupported = 0, /*!< indicates no support for SingleOpen functionality */
Supported = 1 /*!< indicates support for SingleOpen functionality */
};

private :
SingleOpen();
};

{code}

So it looks like default value is Supported and it should be set as NotSupported?

{code}
loginAI.setSingleOpen( SingleOpen::Supported );
loginAI.setAllowSuspectData( AllowSuspectData::Supported );
{code}

Can you please confirm?

Thanks,

treprfarfa-apiconnection
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Upvotes
Accepted
11.3k 25 8 14

Hi @vincentl

If you want to change the SingleOpen and AllowSuspectData sent in Login request's AttribInfo.Attrib from ValueAdd Consumer, the code you provided should be the right place for the configuration by setting NotSupported as value.

The SingleOpen=0 means that application should drive the recovery of item streams. For example, if the connection between RFA consumer and server/provider go down, application will receive ClosedRecover stream state for all subscribed items. Application needs to take responsibility for re-subscribe to the items once connection re-established or fail-over to subscribe the items from other service/server.

The AllowSuspect=0 means that application doesn't allow to receive Suspect status (Suspect/Open) from scenario such as "Comms Outage". Instead, it will receive Suspect/ClosedRecover indicating that the item's stream is closed. Application will need to manually recover items.

In conclusion, with setting both SingleOpen and AllowSuspect to 0, application needs to take responsible for the item recovery in several scenarios such as service down, connection down, data stale from feed/TREP, etc. Also, if you want to handle your own failover to other server, application needs to establish connection manually.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.