I want to stream tick-by-tick data from an Elektron server. I used example code and built an application. My application sends a request as follows.
rsslClearRequestMsg(&reqMsg);
reqMsg.msgBase.msgClass = RSSL_MC_REQUEST;
reqMsg.msgBase.streamId = next_stream_id_++;
reqMsg.msgBase.domainType = RSSL_DMT_MARKET_PRICE;
reqMsg.msgBase.containerType = RSSL_DT_NO_DATA;
reqMsg.flags =
RSSL_RQMF_STREAMING | RSSL_RQMF_HAS_QOS | RSSL_RQMF_HAS_PRIORITY;
reqMsg.qos.timeliness = RSSL_QOS_TIME_REALTIME;
reqMsg.qos.rate = RSSL_QOS_RATE_TICK_BY_TICK;
reqMsg.priorityClass = 1;
reqMsg.priorityCount = 1;
reqMsg.msgBase.msgKey.flags =
RSSL_MKF_HAS_NAME_TYPE | RSSL_MKF_HAS_NAME | RSSL_MKF_HAS_SERVICE_ID;
reqMsg.msgBase.msgKey.nameType = RDM_INSTRUMENT_NAME_TYPE_RIC;
reqMsg.msgBase.msgKey.name.data = const_cast<char*>("CLc1");
reqMsg.msgBase.msgKey.name.length = static_cast<RsslUInt32>(4);
reqMsg.msgBase.msgKey.serviceId = service_id_;
I got a message for RSSL_MC_REFRESH, but no continuous update RSSL_MC_UPDATE. CLc1 is an active liquid symbol. The Elektron server indicates that it can support real-time data.
SupportsQosRange: 0
Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0
Is there anything wrong with my request? Thanks.