1. Node
DataFlow将一个功能模块抽象为Node,理论上每个Node实现一个功能,每个Node具体的功能由用户自定义扩展。用户可以根据需要扩展Node,在其内部创建Publisher、Subscriber等对象,用于Node间的通信。


topic:是 Node 之间交换消息的总线,不同的 topic 有对应的 publisher 和 subscriber 对象,分别用于发送消息到该 topic,以及从该 topic 接收消息对象
publisher:用于发送抽象消息,具有如下属性:
id:publisher 的 id
topic:发送消息的 topic
node_id:publishe 所在的 node id
subscriber:用于接收消息,具有如下属性:
id:subscriber 的 id
topic:发送消息的 topic
node_id:subscriber 所在的 node id
callback:用户注册的回调函数
2. 编程范式
2.1 Node开发
Node 中提供了一系列的对外接口供用户使用,包括以下几类主要接口,用户可以选择在此基础上进行扩展开发。


定义 node 根据用户需要的功能定义不同的 node,在node内部通过接口创建 Publisher,Subscriber,Filter等,不同 node 之间通过 topic 进行消息的传递。
2.2 Node运行
通过编写main函数的方式,在 main 函数中实例化各个功能对应的node并进行启动即可。

