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
버퍼에 의해 저장되고 전파되는 메시지의 페이로드 형식입니다.
멤버
Public 생성자
Name |
설명 |
---|---|
오버로드되는 이 메서드는 unbounded_buffer 메시징 블록을 생성합니다. |
|
unbounded_buffer 메시징 블록을 소멸시킵니다. |
Public 메서드
Name |
설명 |
---|---|
unbounded_buffer 메시징 블록에서 항목을 제거합니다. |
|
unbounded_buffer 메시징 블록에 항목을 추가합니다. |
Protected 메서드
Name |
설명 |
---|---|
호출자에게 소유권을 전송하는 이 unbounded_buffer 메시징 블록에 의해 제공된 메시지를 수락합니다. |
|
unbounded_buffer 메시징 블록이 이전에 제공하고 호출자에게 소유권을 전송하는 대상이 예약한 메시지를 생성합니다. |
|
새 대상이 이 unbounded_buffer 메시징 블록에 연결되었음을 알리는 콜백입니다. |
|
비동기적으로 메시지를 ISource 블록에서 이 unbounded_buffer 메시징 블록에 전달합니다. 소스 블록에 의해 호출되면 propagate 메서드가 호출됩니다. |
|
이 unbounded_buffer 메시징 블록에 message_PMessage를 배치하고 연결된 모든 대상에 제공을 시도합니다. |
|
이전 메시지 예약을 해제합니다. (source_block::release_message를 재정의합니다.) |
|
이 unbounded_buffer 메시징 블록이 이전에 제공한 메시지를 예약합니다. (source_block::reserve_message를 재정의합니다.) |
|
예약이 해제된 후 전파를 다시 시작합니다. (source_block::resume_propagation를 재정의합니다.) |
|
동기적으로 메시지를 이 ISource 블록에서 이 unbounded_buffer 메시징 블록에 전달합니다. 소스 블록에 의해 호출되면 send 메서드가 호출됩니다. |
설명
자세한 내용은 비동기 메시지 블록을 참조하십시오.
상속 계층 구조
요구 사항
헤더: agents.h
네임스페이스: 동시성