本图红色箭头反了(纠正错误)
问题总结:
1 为什么通讯需要建立 PORT 和 channel 的概念
PORT 表明数据组件的数据入口或者出口,所谓的channenl 是数据传输的通道,数据传输上有多种手段,和传输特性。
在数据层我们关心的是的数据特性,
InputPort<T> , OutputPort<T>
在数据传输层我们关心的传输特性,
template<typename T>
class ChannelElement;
template<typename T>
class MultipleInputsChannelElement;
template<typename T>
class MultipleOutputsChannelElement;
template<typename T>
class MultipleInputsMultipleOutputsChannelElement;
这样设计的好处数据和传输直接隔离 方便框架的扩展
在inputPort 构造阶段初始化连接管理器:
PortInterface::PortInterface(const std::string& name)
: name(name), fullName(name), iface(0), cmanager(this) {}
cmanager__通道连接管理器:
internal::ConnectionManager cmanager;