join 类
join 消息块是一个单目标、多源、有序的 propagator_block,可以合并来自其每个源的类型为 _Type 的消息。
template<
class _Type,
join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;
参数
_Type
块联接的和传播的消息的负载类型。_Jtype
join 块的种类为 greedy 或 non_greedy
成员
公共构造函数
名称 |
说明 |
---|---|
已重载。 构造 join 消息块。 |
|
销毁 join 块。 |
受保护的方法
名称 |
说明 |
---|---|
接受由此 join 消息块提供的消息,将所有权转移给调用方。 |
|
使用先前由 join 消息块提供并由目标保留的消息,将所有权转移给调用方。 |
|
通知新的目标已链接至此 join 消息块的回调。 |
|
将 ISource 块中的消息异步传递到此 join 消息块中。 在由源块调用时,其由 propagate 方法调用。 |
|
在每个源均传播了消息时,构造包含来自每个源的输入消息的输出消息。 将此输出消息发送到其每个目标。 |
|
释放以前的消息保留。 (覆盖 source_block::release_message。) |
|
保留此 join 消息块之前提供的消息。 (覆盖 source_block::reserve_message。) |
|
释放保留后继续传播。 (覆盖 source_block::resume_propagation。) |
备注
有关更多信息,请参见 异步消息块。
继承层次结构
join
要求
**标头:**agents.h
命名空间: 并发