question

Upvotes
Accepted
217 7 20 38

RFA application connecting to multiple DAC daemons

Hello,

We are using RFA 8.1 C++ api's to consume market data. One of our mutual client checking on possibility of connecting same RFA application to multiple DAC daemons. This is because they have multiple DACS site set up based on the region. Is it possible? Can you point me to sample application which does that?

#technologyrfarfa-apiopen-dacs
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.

Upvote
Accepted
87.1k 294 53 79

@mktdata

Thanks for reaching out to us.

You need to use OpenDACS API to acquire multiple DACSMC.

You can refer to the dacsMultiConnectSubscribeClient example in the OpenDACS C++ package. This example demonstrates how to use OpenDACS API multiconnection feature to connect with several DACS sink daemons that locate in different hosts (or the same host as the example).

I hope that this information is of help.

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.

@Jirapongse Thank you. I will give it a try and let you know.
Upvotes
217 7 20 38

@Jirapongse Our mutual client is planning to use two separate DAC daemon sites. They have provided us two different ports 8211 & 8230 where RFA application should connect. How can I configure it? Should I have two entries in /etc/services? Until now we followed below steps for single DAC daemon site but not sure how can we do it for multiple DAC Daemon sites.

https://community.developers.refinitiv.com/questions/19952/is-it-possible-to-configure-a-rfac-application-usi.html

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.

Upvotes
87.1k 294 53 79

@mktdata

The RFA itself can't connect to multiple DACS Daemon sites at the same time. It can connect to one DACS Sink Daemon at a time. To connect to multiple DACS Daemon, you need to use OpenDACS API instead.

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.

Upvotes
217 7 20 38

@Jirapongse Yes we plan to use Open DACS C++ api to do so. I understand DACMC feature of Open DACS api. It allows specifying list of ip addresses while acquiring connection to DAC Daemon. It will get locked with first IP that has DAC Daemon processes running and login will be sent to that DAC site.

Our requirement is different. We want to connect to multiple DAC Daemon sites one by one until we find out a DAC site where given user is authorized. Consider following example -

  • Let's say we have user "PT1".
  • There are two DAC sites, "Site A" & "Site B".
  • We will acquire "Site A" connection first and try logging in "PT1" user with "Site A" but it gets logged out as "PT1" is not authorized on "Site A"
  • We then acquire "Site B" connection and try logging in "PT1" user with "Site B" and it gets logged in there.

Is this possible?

Also out of two DAC sites, one intend to use non standard port(other than 8211) so is it possible?


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.

Upvotes
87.1k 294 53 79

@mktdata

Yes, you can have multiple AuthorizaionSystem MC instances. Each instance connects to a DACS Sink Daemon. You can specify the hostnames (IP addresses) and TCP port in the parameter.

1684373121761.png

Then, create AuthorizationAgent instances from each AuthorizaionSystem instance. Next, create AuthorizationAgent instances to log in to the AuthorizaionSystem instances.

The diagram looks like this:

1684374190896.png



1684373121761.png (54.3 KiB)
1684374190896.png (25.3 KiB)
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.

@Jirapongse So what you suggest is I should try connecting "PT1" to "Daemon1 (on port 8211)" first. If "PT1" gets logged out then I should try connecting to "Daemon2 (on port 8230)"?

If at all I will be connecting to each connection one by one then why it needs to be "DACSMC" , "DACS" should work right?

Yes, DACSMC is able to connect to one DACS sink daemon.

As I know, the "DACS" AuthorizationSystem instance connects to a DACS sink daemon running on the local machine unless the DACSMUXNAME environment variable has been set.

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.