Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
  • EMA /
avatar image
Question by cdefusco · Jul 10, 2019 at 06:07 AM · ema c++consumerupdate messageema batch request messageno update message

Symbol List Request and Refresh Messages

In documentation of RDM Usage Guide I can read this:

In particular the sentence: A Symbol List refresh can be sent in multiple parts. Update and status messages can be delivered between parts of a refresh message, regardless of streaming or non-streaming request.

However, above in the point 11.2.1 I can read this:

In particular the sencence: The consumer can make a streaming request (set ReqMsg.InterestAfterRefreshto true) to receive updates, typically associated with item additions or removals from the list.

My doubt is about the update and status messages.
Do these two sentences not contradict each other?


rdm-symbollist.jpg (28.2 KiB)
rdm-symbollist0.jpg (23.5 KiB)

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Reply

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by umer.nalla · Jul 10, 2019 at 06:22 AM

Hi @cdefusco

When you request a SymbolList - in theory it could contain hundreds of thousands of symbols and the initial list (the Refresh) would have to be delivered in multi parts. The delivery of such a long list could take considerable time e.g several minutes.

During this extended time span, it is theoretically possible that some of those symbols (that have been sent in an earlier part) have now expired or no longer match the criteria that represents the Symbol List. In this case the server needs to advise you to remove those symbols for any application level list you are building and so, you may receive an UpdateMsg with a Delete action for that entry. In theory the UpdateMsg could also contain an Update action (if the PROD_PERM field has changed for a previously received symbol).

Also, due to the potentially long timespan for an long Symbol List, there could be a scenario where the server needs to send a StatusMsg because something has gone wrong e.g. if it has to close the SymbolList stream because it has lost upstream connectivity OR a Data Suspect status because there is some other temporary problem with the data / feed.

The difference between a Streaming and non-streaming request, is that with a streaming request, you will continue to receive UpdateMsg and StatusMsg after you receive the complete SymbolList - as and when any of the above scenarios occur. With a non-streaming, once you have received the complete SymbolList, the stream will be close and you will not be informed of any future deletions or updates for symbols that you had previously received.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
6 People are following this question.

Related Questions

EMA OmmConsumer memory leak in C++ API?

[EMA C++] DoNotCache and ClearCache in RefreshMessage from the point of view of Consumer Application

EMA Issue with update items

[EMA C++] Exception Type='OmmInvalidUsageException', Text='Closed / Suspect / User unknown to permissioning system, it could be DACS , AAA or EED

[EMA C++] Can registerClient() & onRefreshMsg() run in different thread?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges