Microsecond RFA7 -> 8 Migration
Hey,
We currently publish RFA8 DateTimes to users who consume the data via RFA7 clients. This causes problems in these clients.
We understand that there are 2 accepted solutions here in that:
Our consumers are upgraded to RFA8
Our consumers are written to cope with errors that arise from this precision in RFA7
However we have clients unwilling to upgrade to RFA8, and further, are reluctant to make changes at all to their consumers. As such we are investigating the avenue of removing/not publishing RFA8 Times with precision more than millisecond.
So our questions are as follows:
In RFA 8 headers (DateTime.h, Time.h) , setMicrosecond looks to be able to receive 2047 as a blank value, but setting this throws an exception "InvalidUsageException". Why is this?
Is there another method of truncating the timestamp to a maximum of millisecond precision in order to protect downstream consumers which are not ready to consume this precision of timestamp?
Simply leaving the microsecond unset provides us with this error in the downstream client:
MarketPriceClient::processEvent() -InvaidUsageException->Data decoding failed in DataBuffer::getAsString()
For some context, our tests were conducted using the rfa client RDMConsumer.
Many Thanks!
Best Answer
-
You need to set microseconds and nanoseconds to zero.
Time time;
time.setHour(3);
time.setMinute(4);
time.setSecond(10);
time.setMillisecond(10);
time.setMicrosecond(0);
time.setNanosecond(0);
field.setFieldID(14263);
dataBuffer.setTime(time);
field.setData(dataBuffer);
fieldListWIt.bind(field);Then the data will have five bytes which RFA C++ 7.x can decode.
<fieldEntry fieldId="14263" data="0304 0A00 0A"/>
If you set it to blank data (2047), the data will have more than five bytes which cause InvalidUsageException on the RFA C++ 7.x consumer.
<fieldEntry fieldId="14263" data="0304 0A00 0A3F FFFF"/>
---------------------------
Exception Error
---------------------------
AN EXCEPTION HAS BEEN THROWN! The following information describes the exception:
Exception Type: InvalidUsageException
Exception Severity: Error
Exception Classification: IncorrectAPIUsage
Exception Status Text: Data decoding failed in DataBuffer::getTime(); Reason: RSSL_RET_INCOMPLETE_DATA
---------------------------
OK
---------------------------I have tested this with a direct connection between RFA C++ 8.1.1.L1 Interactive Provider and RFA C++ 7.6.2.E1 Consumer.
For more information, please refer to the Coding For High Precision Time article.
0
Answers
-
Hey, thanks for your reply. I have tried this and it works, so thanks again.
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 中文论坛