Hi. question regarding RTSDK example 470_MP_WarmStandby.
I am subscribing to Directory domain stream to get service statuses.
with ChannelSet failover when after registering to dictionary domain, I can see refresh as expected.
when using WarmStandby mode onRefreshMeg handler in client is not called (Login and dictionary streams on refresh handlers are called after registering)
modified 470_MP_WarmStandby - I registered to domains adding following lines to example
LoginHdl = consumer.registerClient(refinitiv::ema::access::ReqMsg()
.domainType(refinitiv::ema::rdm::MMT_LOGIN)
.initialImage(true)
.interestAfterRefresh(true)
.serviceName("ELEKTRON_DD"),
client);
std::this_thread::sleep_for(std::chrono::seconds(60));
DirectoryHdl = consumer.registerClient(refinitiv::ema::access::ReqMsg()
.domainType(refinitiv::ema::rdm::MMT_DIRECTORY)
.initialImage(true)
.interestAfterRefresh(true)
.serviceName("ELEKTRON_DD")
.filter(refinitiv::ema::rdm::SERVICE_INFO_FILTER | refinitiv::ema::rdm::SERVICE_STATE_FILTER),
client);
std::this_thread::sleep_for(std::chrono::seconds(15));
DictionaryFieldHdl = consumer.registerClient(refinitiv::ema::access::ReqMsg()
.domainType(refinitiv::ema::rdm::MMT_DICTIONARY)
.initialImage(true)
.interestAfterRefresh(true)
.serviceName("ELEKTRON_DD")
.filter(refinitiv::ema::rdm::DICTIONARY_NORMAL)
.name("RWFFld"),
client);
std::this_thread::sleep_for(std::chrono::seconds(15));
DictionaryEnumdHdl = consumer.registerClient(refinitiv::ema::access::ReqMsg()
.domainType(refinitiv::ema::rdm::MMT_DICTIONARY)
.initialImage(true)
.interestAfterRefresh(true)
.serviceName("ELEKTRON_DD")
.filter(refinitiv::ema::rdm::DICTIONARY_NORMAL)
.name("RWFEnum"),
client);
std::this_thread::sleep_for(std::chrono::seconds(60));
if(DirectoryHdl != 0)
consumer.unregister(DirectoryHdl);
if(DictionaryFieldHdl != 0)
consumer.unregister(DictionaryFieldHdl);
if(DictionaryEnumdHdl != 0)
consumer.unregister(DictionaryEnumdHdl);
if(LoginHdl != 0)
consumer.unregister(LoginHdl);
Warm Standby feature works as expected, only problem is with DirectoryDomain consumer.
internal directory stream (on consumer creation) gets refreshes from Directory for both active and standby server. Directory refresh at this stage contains the same same set of services, but order of service is not exactly the same.
How can I get Directory messages with warm standby with/without wsb fallback