Message 类说明

当API接收到 DolphinDB 发送的消息时,会封装为一个 Message 类,用户可以解析该类以获取具体数据。

Message 是 ConstantSP 的子类,因此从 Message 中读取数据的方法与从 ConstantSP 中读数据的方法相同,具体可参考数据类型与形式

在订阅时,如果指定 MsgAsTable 为 false,那么每个 Message 是一个 ANY 类型的 VECTOR,长度与表的列数相同,表示一行数据;如果指定 MsgAsTable 为 true,那么每个Message 是一个 Table.

注意:在订阅异构流表时,如果表中某一列是 ArrayVector,那么在回调函数的参数 Message 中,该列对应的元素也是一个 ArrayVector,长度为 1。如果订阅的是普通流表,表中某一列是 ArrayVector,则在回调参数 Message 中,该列对应的元素是一个 Vector。

此外,Message还提供了独有的两个方法如下所示:

获取 symbol

const std::string& getSymbol();

在订阅异构流表时使用,可以通过该 symbol 知道该条消息属于哪个表。

获取 offset

int getOffset();

可以通过该知道该条消息在表中的偏移量(从0开始)。

Note:

只有在订阅时没有指定filter时,该接口才是可用的。如果指定了filter,该接口返回的内容无意义。