Trying to get data back from an item request in module 5 of the UPA Consumer training program. After running the application to try and get data from AAPL.MX I get the following
Successfully loaded field dictionary from (local) file. Successfully loaded enum type dictionary from (local) file. UPA Consumer application has successfully loaded both dictionaries from (local) files. Channel IPC descriptor = 7 Channel 7 In Progress... Channel In Progress - New FD: 7 Old FD: 7 Channel 7 In Progress... Channel on fd 7 is now active - reading and writing can begin. Channel 7 active. Channel Info: Max Fragment Size: 6142 Output Buffers: 50 Max, 50 Guaranteed Input Buffers: 10 Send/Recv Buffer Sizes: 87040/369280 Ping Timeout: 30 Connected component version: ads2.4.1.L1.linux.tis 64-bit Received Login Refresh Msg with Stream Id 1 The refresh msg is a solicited refresh (sent as a response to a request). Received Login Response for ApplicationId: 256 Received Login Response for ApplicationName: ADS Received Login Response for Position: 10.135.31.46 Received Login Response for Username: a585657 State: Open/Ok/None - text: "Login accepted by host vc2c09mmk5076.fmr.com." Login stream is OK and solicited UPA Consumer application is granted access and has logged in successfully. Ping message has been received successfully from the server due to data message ... Received Source Directory Refresh Received Source Directory Refresh for Decoded Service Id: 5250 Decoding Service Info Filter ID FilterListEntry Received Source Directory Refresh for ServiceName: RDF Service name: RDF (5250) is discovered by the OMM consumer. Received Source Directory Refresh for Decoded Capabilities[0]: 5 RSSL_DMT_DICTIONARY domain type is supported. Received Source Directory Refresh for Decoded Capabilities[1]: 6 RSSL_DMT_MARKET_PRICE domain type is supported. Received Source Directory Refresh for Decoded Capabilities[2]: 10 Received Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0 Received Source Directory Refresh for DictionariesProvided[0]: RWFFld Dictionary Provided: RWFFld with filename: RDMFieldDictionary Received Source Directory Refresh for DictionariesProvided[1]: RWFEnum Dictionary Provided: RWFEnum with filename: enumtype.def Decoding Source State Filter ID FilterListEntry Received Source Directory Refresh for Decoded ServiceState: 1 Received Source Directory Refresh for Decoded AcceptingRequests: 1 State: Open/Ok/None - text: "" UPA Consumer application has successfully received source directory information. Ping message has been received successfully from the server due to data message ... Received Item Refresh Msg for stream 5 State: Open/Ok/None - text: "All is well" AAPL.MX DOMAIN: RSSL_DMT_MARKET_PRICE PROD_PERM 14392 RDNDISPLAY 13876 DSPLY_NAME APPLE INC RDN_EXCHID rsslDecodeEnum() failed with return code: -26 Error RSSL_RET_INCOMPLETE_DATA (-26) encountered with decodeMarketPricePayload. Error Text: Failure: Not enough data was provided.
Then when running the program in gdb I am able to see what data is given right before it fails and get
p *dataDictionary $2 = {minFid = 1, maxFid = 32766, numberOfEntries = 15045, entriesArray = 0x7ffff7fa8010, isInitialized = 1 '\001', enumTables = 0x7ffff7ee7010, enumTableCount = 523, info_DictionaryId = 1, infoField_Version = {length = 7, data = 0x8b8d80 "4.20.25"}, infoEnum_RT_Version = {length = 7, data = 0x8b94b0 "4.20.25"}, infoEnum_DT_Version = {length = 5, data = 0x8b9680 "16.71"}, infoField_Filename = {length = 7, data = 0x8b8d40 "RWF.DAT"}, infoField_Desc = {length = 19, data = 0x8b8d60 "RDF-D RWF field set"}, infoField_Build = {length = 3, data = 0x8b8da0 "001"}, infoField_Date = {length = 11, data = 0x8b8dc0 "19-May-2016"}, infoEnum_Filename = {length = 12, data = 0x8b93e0 "ENUMTYPE.001"}, infoEnum_Desc = { length = 34, data = 0x8b9480 "IDN Marketstream enumerated tables"}, infoEnum_Date = {length = 11, data = 0x8b9950 "30-Aug-2016"}}
I am not sure what data is missing but this is what is returned.
The other issue is then looking for the default symbol of TRI which will give me this response
Successfully loaded field dictionary from (local) file. Successfully loaded enum type dictionary from (local) file. UPA Consumer application has successfully loaded both dictionaries from (local) files. Channel IPC descriptor = 7 Channel 7 In Progress... Channel In Progress - New FD: 7 Old FD: 7 Channel 7 In Progress... Channel on fd 7 is now active - reading and writing can begin. Channel 7 active. Channel Info: Max Fragment Size: 6142 Output Buffers: 50 Max, 50 Guaranteed Input Buffers: 10 Send/Recv Buffer Sizes: 87040/369280 Ping Timeout: 30 Connected component version: ads2.4.1.L1.linux.tis 64-bit Received Login Refresh Msg with Stream Id 1 The refresh msg is a solicited refresh (sent as a response to a request). Received Login Response for ApplicationId: 256 Received Login Response for ApplicationName: ADS Received Login Response for Position: 10.135.31.46 Received Login Response for Username: a585657 State: Open/Ok/None - text: "Login accepted by host vc2c09mmk5076.fmr.com." Login stream is OK and solicited UPA Consumer application is granted access and has logged in successfully. Ping message has been received successfully from the server due to data message ... Received Source Directory Refresh Received Source Directory Refresh for Decoded Service Id: 5250 Decoding Service Info Filter ID FilterListEntry Received Source Directory Refresh for ServiceName: RDF Service name: RDF (5250) is discovered by the OMM consumer. Received Source Directory Refresh for Decoded Capabilities[0]: 5 RSSL_DMT_DICTIONARY domain type is supported. Received Source Directory Refresh for Decoded Capabilities[1]: 6 RSSL_DMT_MARKET_PRICE domain type is supported. Received Source Directory Refresh for Decoded Capabilities[2]: 10 Received Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0 Received Source Directory Refresh for DictionariesProvided[0]: RWFFld Dictionary Provided: RWFFld with filename: RDMFieldDictionary Received Source Directory Refresh for DictionariesProvided[1]: RWFEnum Dictionary Provided: RWFEnum with filename: enumtype.def Decoding Source State Filter ID FilterListEntry Received Source Directory Refresh for Decoded ServiceState: 1 Received Source Directory Refresh for Decoded AcceptingRequests: 1 State: Open/Ok/None - text: "" UPA Consumer application has successfully received source directory information. Ping message has been received successfully from the server due to data message ... Received Item Refresh Msg for stream 5 State: Open/Ok/None - text: "All is well" TRI DOMAIN: RSSL_DMT_MARKET_PRICE PROD_PERM 909456946 RDNDISPLAY 13879 DSPLY_NAME THOMSON REUTERS RDN_EXCHID TFF(57) TRDPRC_1 TRDPRC_2 TRDPRC_3 rsslDecodeReal() failed with return code: -29 Error RSSL_RET_INVALID_DATA (-29) encountered with decodeMarketPricePayload. Error Text: Failure: Invalid data provided to function.
I am not sure why this occurs but again when I set a breakpoint right before this occurs I have this data:
p fieldEntry $4 = {fieldId = 8, dataType = 0 '\000', encData = {length = 5, data = 0xc70b4a "+43.8"}}
As can be seen the data is there from the fieldEntry. So but it does not seem to want to be passed any further. This is also an issue with it printing the data for TRDPRC_1 and TRDPRC_2.
Does anyone know why this is occurring?