We switch from RFA to EMA. Sometimes, we receive corrupted bid/ask pricing. For example, when we subscribed AAPL, bid/ask is 240/260 and in the next update they are 40/56 which are nonsense price. it looks like some quotes are mixed from different RICs. we decode msg payload inside the callback onRefreshMsg() and onUpdateMsg() and sent decoded msg to an event listener.
Also, we store handle id into a symbol-handle map. when unsubscribing symbol, we remove the the entry from the map and unregister with handle id. But sometimes when we unsubscribe a symbol using the handle id, ADS still sends the streaming quote to our system.