Actually, the Open DACS API connects to a DACS server through a DACS Daemon. A DACS Daemon can be installed on a local machine or remote machine.
According to the DACS Installation Guide:
DACSMUXNAME This environment variable is used to inform the DACS Library that the DACS Daemon is located on a different machine than the DACS Library. This can be useful in cases where installing a local DACS Daemon is not appropriate with the understanding that performance is degraded and that in some configurations usage is not generated. For example: export DACSMUXNAME=192.168.27.50:dacs_lib dacs_lib is 8211/tcp defined in the /etc/services file. DACSMUXPING This environment variable is used to inform the DACS Library that heartbeat messages should be sent between the DACS Library and the DACS Daemon. This option should only be used when the DACSMUXNAME option is being used.
Therefore, these environment variables are used when you would like to connect to a remort DACS Daemon.
However, the Open DACS API allows you to specify a setting to connect to a remote Dacs Daemon. For example, with the Open DACS C++, you can specify it in the authorizationOptions parameter.
rfa::dacs::AuthorizationSystem::acquire(const rfa::common::RFA_String& authorizationName = “DACS”, const AUTH_SYSTEM_OPTION_VEC *authorizationOptions = NULL) throw (AuthorizationException)
The authorizationOptions parameter is an RFA_Vector that contains type AUTH_SYSTEM_OPTION_ELEMENT. The options are used to inform the API ‘how’ to connect to the DACS daemon and how usage should be logged. For example:
You would need to use those ENV variables if you are using a remote Dacs Daemon
Please see the existing post for details:
In our application we use "acquire" and "createAuthorizationAgent" API of rfa::dacs::AuthorizationSystem class to connect to remote DACS Daemon. and we are able to connect without configuring above env variables.
So are these variables not required to set if we connect using above methods ?
I believe that is exactly the point @Jirapongse is making.
When I posted my reply - I was not aware of the programmatic option and was just answering your question about the ENV vars - I am not a DACS API specialist ;)