OMM Consumer - Do I need to unregister all registered clients to logout?

From what I read in this forum, unregistering the login client should be enough to logout and close the open connection with TREP but somehow every now and then I get the following error message:

<- Received MMT_LOGIN - Login Denied streamState : Closed dataState : Suspect statusCode : Unknown status code (31) statusText : Access Denied-already using position <ip>

I've already made sure no other app or process is using the same service account I'm using and I've also made sure the cleanup of the process is always performed.

The only thing I can think of is that I'm missing to unregister the clients that I've created to request for the item's data. Do I need to unregister every client I've ever registered???

Thanks in advance!

Best Answer

  • There is no need to close other streams after closing the login handle.

    If this method is used, individual closes for the corresponding event streams are not required.

    // Logout
    pOMMConsumer->unregisterClient( pLoginHandle );

    You may try to enable tracing in the API. If you see the following trace at the end of file, it means the login close has been sent to the server and the problem may be on the server side.

    <closeMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x0" dataSize="0">
    <dataBody>
    </dataBody>
    </closeMsg>

    To verify the problem on the server side, please submit a case to ADS support team via Contact Us.

Answers

  • I only find

    pOMMConsumer->unregister( pLoginHandle );

    there is no

    pOMMConsumer->unregisterClient( pLoginHandle );

  • Hi @xlil997 ,

    Where are you looking?

    Are you looking at RFA 8 C++?

    In OMMConsumer.h header of 8.0 and 7.6 I see defined:

    virtual void unregisterClient( rfa::common::Handle* pClientHandle...

    Hope this helps.

  • Hello @xlil997,

    Once a question has an answer that is accepted as correct, it's much better to create a new independent question, to give it visibility. Optionally, point to the past question, adding a link.

    Often, a follow-up answer on a post-discussion question is not immediately visible and is overlooked by the community. This is what we try to avoid.