ema中许多消息类型的实现(如RefreshMsg、UpdateMsg、StatusMsg)均继承于access::Msg,看到class的实现中均提供了toString方法返回EmaString。如果我有一个EmaString,有什么方法可以将这个EmaString转换到access::Msg类型吗?例如我需要做一些数据回放,需要将字符串数据放到代码中处理,这时要把字符串转化到RefreshMsg、UpdateMsg、StatusMsg的消息进行处理。
ema中许多消息类型的实现(如RefreshMsg、UpdateMsg、StatusMsg)均继承于access::Msg,看到class的实现中均提供了toString方法返回EmaString。如果我有一个EmaString,有什么方法可以将这个EmaString转换到access::Msg类型吗?例如我需要做一些数据回放,需要将字符串数据放到代码中处理,这时要把字符串转化到RefreshMsg、UpdateMsg、StatusMsg的消息进行处理。
Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.
Thanks,
AHS
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.
我的程序需要先将EMA message转到string存储到queue,然后又线程从queue中读取string,想把这个string再转化到EMA message来处理的。如果没有方法将string转化到EMA message,那有什么方法能够解析string获取到到想要的字段吗?
Hello @rikytan
Instead of keeping the message as EmaString, you can clone the message using the following method()
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.