unbounded_buffer 类
unbounded_buffer 消息块是一个多目标、多源、有序的 propagator_block,能够存储大量消息。
template<
class _Type
>
class unbounded_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
参数
- _Type
缓冲区存储的和传播的消息的负载类型。
成员
公共构造函数
名称 |
说明 |
---|---|
已重载。 构造 unbounded_buffer 消息块。 |
|
销毁 unbounded_buffer 消息块。 |
公共方法
名称 |
说明 |
---|---|
从 unbounded_buffer 消息块中移除项。 |
|
向 unbounded_buffer 消息块中添加项。 |
受保护的方法
名称 |
说明 |
---|---|
接受由此 unbounded_buffer 消息块提供的消息,将所有权转移给调用方。 |
|
使用先前由 unbounded_buffer 消息块提供并由目标保留的消息,将所有权转移给调用方。 |
|
通知新的目标已链接至此 unbounded_buffer 消息块的回调。 |
|
将 message_PMessage 放置在此 unbounded_buffer 消息块中,并尝试将它提供给所有链接目标。 |
|
将 ISource 块中的消息异步传递到此 unbounded_buffer 消息块中。 在由源块调用时,其由 propagate 方法调用。 |
|
将 message_PMessage 放置在此 unbounded_buffer 消息块中,并尝试将它提供给所有链接目标。 (重写 source_block::propagate_output_messages。) |
|
释放以前的消息保留。 (覆盖 source_block::release_message。) |
|
保留此 unbounded_buffer 消息块之前提供的消息。 (覆盖 source_block::reserve_message。) |
|
释放保留后继续传播。 (覆盖 source_block::resume_propagation。) |
|
将消息从 ISource 块同步传递到此 unbounded_buffer 消息块中。 在由源块调用时,其由 send 方法调用。 |
|
重写 supports_anonymous_source 方法来指示该块可以接受提供的消息由未链接的源。 (重写 ITarget::supports_anonymous_source。) |
备注
有关更多信息,请参见 异步消息块。
继承层次结构
unbounded_buffer
要求
**标头:**agents.h
命名空间: 并发