How do we know snapshot(RFA) request has been fulfilled?

Best Answer
-
It is best to just follow the "Closing Event Streams" procedure.
The application should call isEventStreamClosed() function on incoming messages to determine whether an event
stream is closed.If the isEventStreamClosed() function call returns true, then the stream is closed and the application can clean up
its resources.void processEvent(const rfa::common::Event & event )
{
switch( event.getType() )
{
case ConnectionEventEnum:
processConnectionEvent( static_cast<const ConnectionEvent &>( event ) );
break;
case OMMItemEventEnum:
processOMMItemEvent( static_cast<const OMMItemEvent &>( event ) );
break;
case OMMCmdErrorEventEnum:
processOMMCmdErrorEvent( static_cast<const OMMCmdErrorEvent &>( event ) );
break;
case LoggerNotifyEventEnum:
processLoggerNotifyEvent( static_cast<const LoggerNotifyEvent &>( event ) );
break;
default:
break;
}
if ( event.isEventStreamClosed() )
//Event stream is closed. Application can clean up related resources.
}0
Answers
-
Hi @Rathish K T
If the application sent a non-streaming (snapshot) request for a valid item, the final refresh response of the multi-part refresh messages should have the REFRESH COMPLETE flag in the indication mask. Also, it should receive a COMPLETION_EVENT (the event stream is closed) after that.
0 -
But when we request snapshot for multiple RIC's ex USD=, EUR= and GBP=. this "event.isEventStreamClosed()" is getting fired for every rate response for RIC. We Like to know the last RIC's request is fulfilled. so that we could close the connection.
0 -
In that case, you have to either count the number of request, or create a watch list.
Just increase count or add item to watch list when you call registerClient(), and decrease count/remove item when isEventStreamClosed() function returns true.
When count is zero or watch list is empty, then you can close the connection.
0 -
Hi @Warat-B, Thanks for your answer, It works now.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 37 Alpha
- 167 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 705 Datastream
- 1.5K DSS
- 633 Eikon COM
- 5.2K Eikon Data APIs
- 14 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 6 Trading API
- 3K Elektron
- 1.5K EMA
- 259 ETA
- 569 WebSocket API
- 40 FX Venues
- 16 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 4 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 284 Open PermID
- 47 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 24 RDMS
- 2.2K Refinitiv Data Platform
- 879 Refinitiv Data Platform Libraries
- 5 LSEG Due Diligence
- 1 LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 123 Open DACS
- 1.1K RFA
- 108 UPA
- 196 TREP Infrastructure
- 232 TRKD
- 919 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 103 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛