propagator_block 类

propagator_block 类是同时为源和目标的消息块的一个抽象基类。 组合了 source_blocktarget_block 类的功能。

template<
   class _TargetLinkRegistry,
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;

参数

  • _TargetLinkRegistry
    要用于保存目标链接的链接注册表。

  • _SourceLinkRegistry
    要用于保存源链接的链接注册表。

  • _MessageProcessorType
    用于消息处理的处理器类型。

成员

公共 Typedefs

Name

说明

source_iterator

propagator_blocksource_link_manager 的迭代器类型。

公共构造函数

Name

说明

propagator_block::propagator_block 构造函数

构造 propagator_block 对象。

propagator_block::~propagator_block 析构函数

销毁 propagator_block 对象。

公共方法

Name

说明

propagator_block::propagate 方法

将消息从源块异步传递到此目标块中。

propagator_block::send 方法

对此块同步发出一条消息。 由 ISource 块调用。 此函数完成时, 消息将已传播到块中。

受保护的方法

Name

说明

propagator_block::decline_incoming_messages 方法

指示新消息应该拒绝的块。

propagator_block::initialize_source_and_target 方法

初始化基本对象。 特别地,message_processor 对象需要进行初始化。

propagator_block::link_source 方法

将指定源块链接到此 propagator_block 对象。

propagator_block::propagate_message 方法

在派生类中重写后,该方法异步地将消息从 ISource 块传递至该 propagator_block 对象。 在由源块调用时,其由 propagate 方法调用。

propagator_block::register_filter 方法

注册将在接收到的每条消息上调用的筛选器方法。

propagator_block::remove_network_links 方法

从此 propagator_block 对象中移除所有源和目标网络链接。

propagator_block::send_message 方法

在派生类中重写后,该方法同步地将消息从 ISource 块传递至该 propagator_block 对象。 在由源块调用时,其由 send 方法调用。

propagator_block::unlink_source 方法

与来自该 propagator_block 对象的指定的源块不同。

propagator_block::unlink_sources 方法

与来自该 propagator_block 对象的所有源块取消链接。 (重写 ITarget::unlink_sources。)

备注

为避免多个继承,propagator_block 类继承自 source_block 类以及 ITarget 抽象类。 此处复制了 target_block 类中的大部分功能。

继承层次结构

ISource

source_block

ITarget

propagator_block

要求

**标头:**agents.h

命名空间: 并发

请参见

参考

Concurrency 命名空间

source_block 类

ITarget 类