何时发出Port发出的事件?他们是什么意思?

时间:2014-03-07 22:49:01

标签: noflo

据我所知,NoFlo端口发送了7个事件:

连接, 连接, 请将BeginGroup, 数据, 端基, 断开, 分离

对我来说,其中一些事件听起来非常相似,例如attach + connect和disconnect + detach。有什么区别?

begingroup和endgroup是什么意思?

这些事件什么时候被发出?它们何时被使用?

我在http://noflojs.org/documentation/components/#portevents

看到了文档

假设附加和分离用于处理NoFlo UI情况,例如更改组件的状态,我的假设是否正确?

另一个假设是每次发送数据之前都会触发连接?然后数据被触发。然后断开?对我来说似乎有点奇怪......

当涉及到群体时,我完全处于黑暗中。

1 个答案:

答案 0 :(得分:4)

当NoFlo网络将套接字附加(或移除)到端口时,会发生

attachdetach。所以通常它们发生在网络启动时,在IIP发送之前。

例外情况是,您使用Flowhub等工具对图表进行实时编辑。在这种情况下,只要您连接或删除电线,就会发生attach / detach

大多数组件不需要关心附件事件。

connect在上游连接发送数据之前发生,而disconnect在上游连接表明它已发送了它想要发送的所有内容时发生。所以实际上它们是传输开始传输结束事件。如果上游组件有一批要发送的新数据,则可以在connect之后再次选择disconnect

data是包含实际有效负载的数据包的事件。

begingroupendgroup是包含有关正在发送的数据的元数据的“括号IP”。它们可用于creating tree structures包数据。

例如,filesystem/ReadFile会将文件内容作为data数据包发送,但文件名是通过括号IP使用begingroup / endgroup数据包发送的。实际文件内容。

noflo-groups库提供了许多用于利用组信息进行同步,路由等的组件。