question

Upvotes
Accepted
219 7 20 35

Connecting to Multiple Services simultaneously

We are currently using the RFA 8.2 C++ API to consume market data and would like to clarify some functionality. Is it possible for a consumer application to simultaneously connect to multiple services on TREP/ADS, such as IDN_SELECT etc. and send requests to these different services for different symbols?

Can you also provide the multiple services available and purpose of each one?

#technologytreprfa
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

· Write an Answer
Upvotes
Accepted
87k 294 53 79

@mktdata

Thank you for reaching out to us.

ADS can advertise multiple services via source directory messages. Please refer to the RFA developer guide in section14.2.3 regarding Requesting a Directory.

Then, the application can specify a service name in an item request message.

Handle* StarterConsumer::sendItemRequest(const RFA_String& itemName, const RFA_String& serviceName, UInt8 indicationMask, UInt8 msgModelType, Int32 interType)
{
    Handle* pHandle = 0;
    ReqMsg reqMsg;
    AttribInfo attribInfo;


    reqMsg.setMsgModelType(msgModelType);
    reqMsg.setInteractionType(interType);


    attribInfo.setNameType(INSTRUMENT_NAME_RIC);
    attribInfo.setName(itemName);
    attribInfo.setServiceName(serviceName);


    reqMsg.setAttribInfo(attribInfo);

You can only specify only one service in an item request message.

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.

Thank you for your response. Just to clarify let's say I have configured 3 services ServiceA, ServiceB and ServiceC in my application. Then is it possible in an item request I can specify the different service name for different request?

For example:

  • For symbol1, I would use attribInfo.setServiceName(ServiceA);
  • For symbol2, I would use attribInfo.setServiceName(ServiceC);
  • For symbol3, I would use attribInfo.setServiceName(ServiceA);

and so on

Can I use this approach?

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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