question

Upvotes
Accepted
301 6 17 27

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?

rfa
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
Accepted
401 15 18 33

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea