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 块的种类为 greedynon_greedy

成员

公共构造函数

Name

说明

join::join 构造函数

已重载。 构造 join 消息块。

join::~join 析构函数

销毁 join 块。

受保护的方法

Name

说明

join::accept_message 方法

接受由此 join 消息块提供的消息,将所有权转移给调用方。

join::consume_message 方法

使用先前由 join 消息块提供并由目标保留的消息,将所有权转移给调用方。

join::link_target_notification 方法

通知新的目标已链接至此 join 消息块的回调。

join::propagate_message 方法

ISource 块中的消息异步传递到此 join 消息块中。 在由源块调用时,其由 propagate 方法调用。

join::propagate_to_any_targets 方法

在每个源均传播了消息时,构造包含来自每个源的输入消息的输出消息。 将此输出消息发送到其每个目标。

join::release_message 方法

释放以前的消息保留。 (覆盖 source_block::release_message。)

join::reserve_message 方法

保留此 join 消息块之前提供的消息。 (覆盖 source_block::reserve_message。)

join::resume_propagation 方法

释放保留后继续传播。 (覆盖 source_block::resume_propagation。)

备注

有关更多信息,请参见 异步消息块

继承层次结构

ISource

source_block

ITarget

propagator_block

join

要求

**标头:**agents.h

命名空间: 并发

请参见

参考

Concurrency 命名空间

choice 类

multitype_join 类

join_type 枚举