overwrite_buffer 类
overwrite_buffer 消息块是一个多目标、多源、有序的 propagator_block,一次能够存储一条消息。 新消息覆盖之前保存的消息。
template<
class _Type
>
class overwrite_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
参数
- _Type
缓冲区存储的和传播的消息的负载类型。
成员
公共构造函数
名称 |
说明 |
---|---|
已重载。 构造 overwrite_buffer 消息块。 |
|
销毁 overwrite_buffer 消息块。 |
公共方法
名称 |
说明 |
---|---|
检查此 overwrite_buffer 消息块是否已具有一个值。 |
|
获取对当前存储在 overwrite_buffer 消息块中消息的当前负载的引用。 |
受保护的方法
名称 |
说明 |
---|---|
接受由此 overwrite_buffer 消息块提供的消息,将消息副本返还给调用方。 |
|
使用先前由 overwrite_buffer 消息块提供并由目标保留的消息,将消息副本返还给调用方。 |
|
通知新的目标已链接至此 overwrite_buffer 消息块的回调。 |
|
将 ISource 块中的消息异步传递到此 overwrite_buffer 消息块中。 在由源块调用时,其由 propagate 方法调用。 |
|
将 message_PMessage 放置在此 overwrite_buffer 消息块中,并将它提供给所有链接目标。 |
|
释放以前的消息保留。(覆盖 source_block::release_message。) |
|
保留此 overwrite_buffer 消息块之前提供的消息。(覆盖 source_block::reserve_message。) |
|
释放保留后继续传播。(覆盖 source_block::resume_propagation。) |
|
将消息从 ISource 块同步传递到此 overwrite_buffer 消息块中。 在由源块调用时,其由 send 方法调用。 |
|
重写 supports_anonymous_source 方法表示此块可以接受未链接的源为其提供的消息。重写 ( ITarget::supports_anonymous_source。) |
备注
overwrite_buffer 消息块将其存储的消息的副本传播到每个目标。
有关详细信息,请参阅异步消息块。
继承层次结构
overwrite_buffer
要求
**标头:**agents.h
**命名空间:**并发