Closing a batch stream in EMA
Looking in the EMA C++ documentation, I could not find any mention of closing a streaming batch of items. While I'm aware you can close a specific item, I could not find any guidelines around closing a batch, so I assumed it was similar to closing a single streaming item.
However, I was wrong.
When you perform a registerClient() on a consumer for a single item, you can use the returned handle to unregister that item, i.e.
UInt64 handle = ommConsumer.registerClient(<single item>);
...
ommConsumer.unregister(handle);
However, despite being intuitive, you can't do this with a batch. When you do, it will throw an exception that contains the error text:
"Invalid attempt to close batch stream. Instance name='Consumer_1_1"
The error message doesn't say you can't close a batch stream, but rather it was an invalid attempt. Fair enough. What is the valid way to do this? Can someone point me to where this is documented?
Best Answer
-
EMA does not support batch close yet.
So right now, you have to close single batch item one by one. You can get the handle of each batch items during onRefreshMsg callback.
1
Answers
-
You cannot call unregisterClient with a batch request handle to close all items in the batch request. This is because the batch request stream will automatically be closed, once the request is successfully sent.
You still need to close individual item stream with item handle. To retrieve item handle for item opened via batch request, you can call the getHandle() on the OmmConsumerEvent event in the onRefreshMsg() call back function.
0 -
how can we close the item using handle?
0 -
As mentioned above you call ommConsumer.unregister(handle);
0 -
Hi @malika.gupta ,
When you receive the "handle" for each item, as described by Veerapath,
you can unregister, as described by Rupert:
void unregister(long handle)
Relinquishes interest in an open item stream.0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛