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 vijay.rao1 · Oct 03, 2017 at 03:15 PM · elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apic++mrn

MRN: Uniqueness and ordering

How unique are guids used for MRN stories? Can they be reused across RICs?

If an MRN story is fragmented, are we guaranteed to receive fragments in order of FRAG_NUM?

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.

4 Replies

  • Sort: 
avatar image
Best Answer
Answer by asiri.rathnayake · Oct 04, 2017 at 03:15 AM

You might find this related: https://community.developers.refinitiv.com/questions/17412/de-duplicating-mrn-story-messages-received-over-tw.html

From the data we have seen so far, FRAG_NUM increases monotonically, but as mentioned in the linked question, you can get resets in the middle of a FRAG_NUM sequence (so counting can re-start from 0).

If you have access to a dictionary data structure, it's not too difficult to address the case for out of order fragments. I agree it would be nicer for the manual to specify this outright so that we don't have to guess either way.

Comment
remu_citi

People who like this

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

avatar image
Answer by vijay.rao1 · Oct 03, 2017 at 06:43 PM

I guess this explains the guid uniqueness:

"A single MRN data item publication is uniquely identified by the combination of RIC, MRN_SRC and GUID."

Now I'm just curious to know whether fragments belonging to the same message will always arrive in order of the FRAG_NUM. Documentation doesn't seem to confirm nor deny this.

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.

avatar image
Answer by vijay.rao1 · Oct 04, 2017 at 11:24 AM

Thanks for this. As long as we know that out of order and duplicate fragments are possible we can cater for this.

This does raise the question, if we can receive 'duplicates' (retransmissions) will the same fragment numbers always have the same boundaries, e.g. if we already have a FRAG_NUM==2, will a duplicate fragment with FRAG_NUM==2 have the same starting and ending position as the previously received fragment in the overall message? I guess it will but it would be nice to have this confirmed.

Thanks

Comment

People who like this

0 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
asiri.rathnayake · Oct 05, 2017 at 03:17 AM 0
Share

I would assume so, otherwise the protocol would not be consistent. What you can do is (following sequence applies to ETA, you may have to adapt it to EMA):

i) Keep accumulating fragments until total_size == sum(received_fragments_sizes).

ii) Ignore any repeated fragments (can check this through FRAG_NUM). Or you can simply replace the older copy with the new one.

iii) When total_size == sum(received_fragment_sizes), iterate through the fragments (in FRAG_NUM order) and append the content to a single buffer.

iv) Unzip the buffer content and parse into JSON.

Cheers,

avatar image
Answer by vijay.rao1 · Oct 05, 2017 at 01:18 PM

Thanks. I was thinking of IP where you can receive overlapping fragments (but otherwise don't have explicit fragment numbers). I hope the boundaries remain the same if the sequence resets.

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 >
9 People are following this question.

Related Questions

C# Wrapper of MRN C++ tutorial step 5

Where can I find sample EMA C++ MRN code for Elektron API 3.1? not in the Elektron-SDK1.1.0.win_0 100-440 examples.

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
  • FX Venues
    • FX Trading – RFQ Maker
  • 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
  • Yield Book Analytics
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges