question

Upvotes
Accepted
1 0 0 0

c++ API将字符串转为access::Msg类型的咨询

ema中许多消息类型的实现(如RefreshMsg、UpdateMsg、StatusMsg)均继承于access::Msg,看到class的实现中均提供了toString方法返回EmaString。如果我有一个EmaString,有什么方法可以将这个EmaString转换到access::Msg类型吗?例如我需要做一些数据回放,需要将字符串数据放到代码中处理,这时要把字符串转化到RefreshMsg、UpdateMsg、StatusMsg的消息进行处理。

#technologyema-api
icon clock
10 |1500

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

Hello @rikytan

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

Upvotes
Accepted
79.4k 253 52 74

@rikytan

Thank you for reaching out to us.

The strings can't be converted to the EMA messages.

To record and replay data, you can use the tools mentioned in this A Quick Start Guide to Playback and Recording Data for the Refinitiv Real-Time SDK article.

icon clock
10 |1500

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

我的程序需要先将EMA message转到string存储到queue,然后又线程从queue中读取string,想把这个string再转化到EMA message来处理的。如果没有方法将string转化到EMA message,那有什么方法能够解析string获取到到想要的字段吗?

Upvotes
24.9k 54 17 14

Hello @rikytan

Instead of keeping the message as EmaString, you can clone the message using the following method()

  • refinitiv::ema::access::RefreshMsg::RefreshMsg(const RefreshMsg& other)
  • refinitiv::ema::access::UpdateMsg::UpdateMsg(const UpdateMsg& other)
  • refinitiv::ema::access::StatusMsg::StatusMsg(const StatusMsg& other)

Then keep the clone copy and you can parse this copied message like a normal EMA message object.

Please check mode detail on the EMA C++ Reference Manual Guide document under EMA C++ Development Guide page.

Note: The clone feature is available on the RTDK version 1.3.1 (EMA Java/C++ version 3.3.1) and above only.


icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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