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
REFINITIV
Question by Bruno.Leal · Sep 30, 2020 at 08:50 PM · elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apic++rcc-api

Contribute more than a RIC via EMA C++ (RCC)

Hi there,

I've been trying to do a contribution with more than a RIC at same time, in other words, with an unique submit() or PostMsg().

So far I'm only able to contribute 1 RIC at time, using bellow method:

thomsonreuters::ema::access::FieldList fList;

fList.clear();
fList.addReal(_fieldId0, _vlr,thomsonreuters::ema::access::OmmReal::ExponentNeg2Enum);
fList.addDate(_fieldId1, year, month, day);
fList.addAscii(_fieldId2, valueEmaStr);
fList.complete();

_pOmmConsumer->submit(PostMsg().streamId(_postStreamID)
            .postId(_postID).domainType(MMT_MARKET_PRICE)
            .solicitAck(true).complete()
            .payload(UpdateMsg().streamId(_postStreamID).name(_ric).payload(fList))
            .complete(),
            _subStreamHandle);

The issue is we've more than 10.000 RICs and, in average, they took next to 1 sec to receive a message from a TCP connection then treat this message to be put proper way at due variables, to finally do the contribution.

How can I add more than an UpdateMsg() in PostMsg().payload()? Or add more than a PostMsg() in _pOmmConsumer->submit()?

I tried to use ElementList().addUpdateMsg() and ElementList().addPostMsg() to solve above questions but they need the "const EmaString &name" parameter and I've no idea what it could be.

ElementList &   addUpdateMsg (const EmaString &name, const UpdateMsg &value)
 
ElementList &   addPostMsg (const EmaString &name, const PostMsg &value)

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 Jirapongse · Oct 01, 2020 at 04:41 AM

@Bruno.Leal

Refer to the EMA C++ reference guide, the submit method can be used to send one post message at a time. The payload of the post message can be a container (Fieldlist, Elementlist, Map, …) or a message (Refresh, Update, Status,…) depending on the Refinitiv Domain Model. For example, if the post message is for the MarketPrice domain, the payload of the post message must be a Fieldlist or a message (Refresh, or Update) that contains a Fieldlist.

You can’t use ElementList().addUpdateMsg() and ElementList().addPostMsg() because the RCC may not be able to understand it. In conclusion, for the MarketPrice domain, you can’t send multiple post messages or multiple messages in the post messages with EMA.

However, with ETA C, you can encode multiple post messages in a packed buffer and then submit the packed buffer containing multiple post messages to RCC. For more information about the packed buffer, please refer to section 10.11 Packing Additional Data into a Buffer in the ETA C Developer Guide.

Comment
Bruno.Leal

People who like this

1 Show 1 · 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.

avatar image
REFINITIV
Bruno.Leal · Oct 01, 2020 at 07:31 PM 0
Share

@jirapongse.phuriphanvichai Do you have any practical examples to share?

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 Consumer - Posting data to Contribution Channel - [Example] CMakeLists.txt file missing

Exception in Access/Impl/Thread.cpp - RCC (Refinitiv Contribution Channel) EMA C++

How to Post with EMA C++

Creating and using Ema objects

When can we expect Visual Studio 2017 C++ Libraries in Elektron SDK?

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • 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
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges