question

Upvote
Accepted
67 3 1 8

UPA C++ 8.0: generic messages in private streams

UPADevGuide asserts that

"All types of requests, functionality, and Domain Models can flow across a private stream, including (but not limited
to):
• Streaming Requests
• Snapshot Requests
• Posting
• Generic Messages
• Batch Requests
• Views
• All Thomson Reuters Domain Models & Custom Domain Models"

However it is not obvious how to use private streams when communicating exclusively with Generic messages.

I would have expected there to be a RSSL_GNMF_PRIVATE_STREAM flag to be available, but it is not.

How do you use Generic messages in a Private Stream?

elektronelektron-sdkrrteta-apielektron-transport-api
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

Upvote
Accepted
1.2k 23 28 42

Start by creating the private stream using a REQUEST message in the client and a REFRESH response that confirms the stream. With that new stream ID you can now send GENERIC messages back and forth.

This paradigm is used by the new Elektron Content Services.

Example private stream request message construction:

RsslRequestMsg msg = RSSL_INIT_REQUEST_MSG;
msg.flags = RSSL_RQMF_STREAMING | RSSL_RQMF_PRIVATE_STREAM;
msg.msgBase.msgClass = RSSL_MC_REQUEST;
...

Example generic message post-stream confirmation:

RsslGenericMsg genMsg = RSSL_INIT_GENERIC_MSG;
genMsg.flags = RSSL_GNMF_MESSAGE_COMPLETE;
genMsg.msgBase.msgClass = RSSL_MC_GENERIC;
...
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