Warnings from RFA -- Pause/Resume despite support being indicated in message

In response to a log in message on RFA I received back:
Msg Type: MsgType.REFRESH_RESP
Msg Model Type: LOGIN
Indication Flags: REFRESH_COMPLETE
Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_RESP_TYPE_NUM | HAS_STATE
State: OPEN, SUSPECT, NONE, "All connections pending"
Group: 0000
RespTypeNum: 0 (RespType.SOLICITED)
AttribInfo
Name: BAINA
NameType: 1 (USER_NAME)
Attrib
ELEMENT_LIST
ELEMENT_ENTRY ApplicationId: 256
ELEMENT_ENTRY Position: <deleted>
ELEMENT_ENTRY AllowSuspectData: 1
ELEMENT_ENTRY SingleOpen: 1
ELEMENT_ENTRY SupportBatchRequests: 1
ELEMENT_ENTRY SupportOptimizedPauseResume: 1
ELEMENT_ENTRY SupportPauseResume: 1
ELEMENT_ENTRY SupportViewRequests: 1
ELEMENT_ENTRY SupportEnhancedSymbolList: 1
ELEMENT_ENTRY SupportOMMPost: 1
and then:
Msg Type: MsgType.STATUS_RESP
Msg Model Type: LOGIN
Indication Flags:
Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
State: OPEN, OK, NONE, "Login accepted by host <deleted>."
AttribInfo
Name: BAINA
NameType: 1 (USER_NAME)
Attrib
ELEMENT_LIST
ELEMENT_ENTRY ApplicationId: 256
ELEMENT_ENTRY ApplicationName: ADS
ELEMENT_ENTRY Position: <deleted>
ELEMENT_ENTRY ProvidePermissionExpressions: 1
ELEMENT_ENTRY ProvidePermissionProfile: 0
ELEMENT_ENTRY AllowSuspectData: 1
ELEMENT_ENTRY SingleOpen: 1
ELEMENT_ENTRY SupportBatchRequests: 1
ELEMENT_ENTRY SupportOptimizedPauseResume: 1
ELEMENT_ENTRY SupportPauseResume: 1
ELEMENT_ENTRY SupportViewRequests: 1
ELEMENT_ENTRY SupportEnhancedSymbolList: 1
ELEMENT_ENTRY SupportOMMPost: 1
Payload: None
which looks fine, but then I get a series of warnings:
Jun 20, 2014 1:55:47 PM com.reuters.rfa.internal.session.omm.OMMInteractiveLoginStatusProvider processOpenStreamForRefresh
WARNING: com.reuters.rfa.session.<deleted>
Connection <deleted> does not support Pause/Resume. Pause and Resume requests for this connection will be ignored.
Jun 20, 2014 1:55:47 PM com.reuters.rfa.internal.session.omm.OMMInteractiveLoginStatusProvider processOpenStreamForRefresh
WARNING: com.reuters.rfa.session.<deleted>
Connection <deleted> does not support optimized Pause/Resume. Optimized Pause/Resume requests will be converted to individual item Pause/Resume requests for this connection.
Jun 20, 2014 1:55:47 PM com.reuters.rfa.internal.session.omm.OMMInteractiveLoginStatusProvider processOpenStreamForRefresh
INFO: com.reuters.rfa.session.<deleted>
Connection <deleted> does not support advanced symbol list. RFA will open data streams on behalf of client data stream request.
This seems surprising since the payload of the STATUS_RESP appears to suggest that Pause/Resume and Optimized Pause/Resume are both supported.
Is there an obvious explanation that I am missing?
Best Answer
-
What happens is that RFA generates its own messages and "sends" them to you. The LOGIN response messages you see above are not the exact ones as received from the server; they have been changed by the RFA library before being presented to you.
Why? Because RFA is able to simulate the features you ask for and therefore it can give you a positive reply even if the server returned a negative reply on the same capability.
The log messages are saying in plain English: "I can give you pause/resume but only because I simulate it internally in the library. The server you are connected does not as such support the feature". In other words it is telling you that you'll be able to utilize pause/resume feature from an API point of view but it's not native, rather it is simulated. You'll gain zero performance benefit from using the feature, it won't hurt though. However the day you happen to connect your application to a server that does support pause/resume then the RFA lib will no longer have to simulate and you'll get the benefit of native pause/resume. You can call it graceful degradation.
If you want to see the exact messages as they are received on the wire from the server then you'll have to enable tracing. Set ipcTraceFlags to 15 in your config and then have a look in the RFA_RSSL*.log which you can find in the application's current directory. I bet you'll then see another kind of LOGIN response message from the server. :-)
Hope this helps.
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 中文论坛