I want to send a symbol request to the Elektron ETA service. From an example at https://github.com/Refinitiv/Real-Time-SDK/blob/master/Cpp-C/Eta/Applications/Examples/Consumer/rsslSymbolListHandler.c, my code looks like below
RsslRet encodeSymbolListRequest(RsslChannel* chnl, RsslBuffer* msgBuf, RsslInt32 streamId)
{
RsslRet ret = 0;
RsslRequestMsg msg = RSSL_INIT_REQUEST_MSG;
RsslEncodeIterator encodeIter;
RsslLoginResponseInfo* loginInfo = getLoginResponseInfo();
RsslSourceDirectoryResponseInfo* srcDirRespInfo = 0;
if (getSourceDirectoryResponseInfo(getServiceId(), &srcDirRespInfo) != RSSL_RET_SUCCESS)
return RSSL_RET_FAILURE;
rsslClearEncodeIterator(&encodeIter);
msg.msgBase.msgClass = RSSL_MC_REQUEST;
msg.msgBase.streamId = streamId;
msg.msgBase.domainType = RSSL_DMT_SYMBOL_LIST;
msg.msgBase.containerType = RSSL_DT_NO_DATA;
if (snapshotRequest)
{
msg.flags = RSSL_RQMF_HAS_QOS | RSSL_RQMF_HAS_PRIORITY;
}
else
{
msg.flags = RSSL_RQMF_HAS_QOS | RSSL_RQMF_STREAMING | RSSL_RQMF_HAS_PRIORITY;
}
msg.priorityClass = 1;
msg.priorityCount = 1;
rsslCopyQos(&(msg.qos), &(srcDirRespInfo->ServiceGeneralInfo.QoS[0]));
/*specify msgKey members*/
msg.msgBase.msgKey.flags = RSSL_MKF_HAS_NAME_TYPE | RSSL_MKF_HAS_NAME | RSSL_MKF_HAS_SERVICE_ID;
msg.msgBase.msgKey.nameType = RDM_INSTRUMENT_NAME_TYPE_RIC;
msg.msgBase.msgKey.serviceId = (RsslUInt16)getServiceId();
msg.msgBase.msgKey.name.length = (RsslUInt32)strlen(symbolListName);
msg.msgBase.msgKey.name.data = symbolListName;
}
How do I set symbolListName? The service that I am using rejects an empty service name. I am intetrested in streaming ticker data from the Elektron ETA service.