When the application unsubscribes an item, we continue to get updates for an item after that. Is there anything in the event itself which will tell us that we have already unsubscribed to this handle/RIC?
When the application unsubscribes an item, we continue to get updates for an item after that. Is there anything in the event itself which will tell us that we have already unsubscribed to this handle/RIC?
Once application unsubscribes an item via unregisterClient call, RFA might dispatch additional events that were in flight due to race condition. To determine if the item unsubscription is completed and there is no longer event received, application needs to register for Completion event. The Completion event is the final event generated by RFA for the unregistered item.
However, if event stream is closed by provider, the Completion event will not be generated. Application should call the isEventStreamClosed function on events to determine whether the event stream is closed or not. The isEventStreamClosed function call on a final event including the Completion event always returns true.
The Completion event can be set via the last parameter on the Session::createOMMConsumer() method.
virtual OMMConsumer* rfa::sessionLayer::Session::createOMMConsumer ( const rfa::common::RFA_String& name, bool wCompEvents = false )
Below is the related information in the RFA 7.6 Developers Guide document.