Question About Encoding Set Defs
There are flags HAS_SET_DEFS in some containers (Series, Map and Vector). And there is a encSetDefs buffer in the container’s members.
Take RsslSeries as an example:
{
RSSL_SRF_NONE = 0x00,
RSSL_SRF_HAS_SET_DEFS = 0x01,
RSSL_SRF_HAS_SUMMARY_DATA = 0x02,
RSSL_SRF_HAS_TOTAL_COUNT_HINT = 0x04
} RsslSeriesFlags;
typedef struct
{
RsslUInt8 flags;
RsslContainerType containerType;
RsslBuffer encSetDefs; /*!< @brief Contains encoded set definition information when present. Presence is indicated by \ref RsslSeriesFlags ::RSSL_SRF_HAS_SET_DEFS. When decoding, this contains encoded set definitions. When encoding, pre-encoded set definition information can be specified here; if not pre-encoded the user can encode set definitions and invoke rsslEncodeSeriesSetDefsComplete() when ready to continue encoding RsslSeries contents. */
RsslBuffer encSummaryData;
RsslUInt32 totalCountHint;
RsslBuffer encEntries;
} RsslSeries;
My question is how to decode the encSetDefs? We have tried to decode it as a container indicated by containerType and to decode it as Series but failed. Could you please help to tell us which API should be used to decode it? And when encoding, what kind of structure should be encoded into it? If possible, appreciate any example about this function.
Thanks
Best Answer
-
Set definitions are encoded using the set definition encoding format (so they are not communicated as a field list or any other container type but they are their own specific encoding format to optimally represent definitions on the wire). Essentially, the encoded set definitions would be either a Field Set Definition (if it is defining layout for Field List content) or an Element Set Definition (if it is defining layout for Element List content).
The type of this is generally determined by the container type specified on the construct providing the encSetDefs. For example, you are processing a Series that has set definitions present. If the series.containerType indicates RSSL_DT_FIELD_LIST, this tells you that the encoded set definitions are Field Set Defs and you would use the Field Set Def encoding/decoding methods when processing. If it said RSSL_DT_ELEMENT_LIST, this would be element set defs and you would use element set def methods.
There is an entire section in the UPA Developers Guide dedicated to explaining this in much more detail. It has tables that detail each method used for encoding or decoding set definitions as well as code examples that show how to use these concepts. This should help give you more information to get your code up and running. The chapter you want to look at is Chapter 11.6 'Set Definitions and Set Defined Data'. This chapter and its subsections cover all things related to set definitions.0
Categories
- All Categories
- 6 AHS
- 37 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
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛