The constructor of the OmmConsumer and OmmProvider (Non-Interactive) classes do not return before an initial RTDS connection is established or the specified timeout value expires.
a, The LoginRequestTimeOut parameter is set to zero.
In this case the constructor of the OmmConsumer / OmmProvider classes block until the initial connection was established.
b, The LoginRequestTimeOut parameter is unequal to zero
In this case constructor of the OmmConsumer and OmmProvider classes throw an exception - OmmInvalidUsageException', Text='login failed (timed out after waiting 45000 milliseconds) - if the initial connection cannot be established within the specified timeout value.
In case of RTDS connection issues, this causes a detrimental effect on the application’s responsiveness.
A possible solution could be to create the OmmConsumer / OmmProvider class in a dedicated thread. However, in case of connection issues it is not possible to gracefully stop this thread before the OmmConsumer / OmmProvider constructor returns.
Could you please advise on how to handle the blocking behavior of the EMA constructors while enabling timely processing requests from other interfaces used by the application?