Поделиться через


Класс unbounded_buffer

Блок обмена сообщениями unbounded_buffer multi-целевой объект, multi-источник, заказанное количество сообщений propagator_block, способное хранения unbounded.

template<
   class _Type
>
class unbounded_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;

Параметры

  • _Type
    Тип полезных данных сообщения, который хранит и распространимый буфер.

Участники

Dd492602.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

Конструктор unbounded_buffer::unbounded_buffer

Перегружен.Создает блок обмена сообщениями unbounded_buffer.

Деструктор unbounded_buffer::~unbounded_buffer

Уничтожает блок обмена сообщениями unbounded_buffer.

Dd492602.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

Метод unbounded_buffer::dequeue

Удаляет элемент из блока обмена сообщениями unbounded_buffer.

Метод unbounded_buffer::enqueue

Добавляет элемент в блоке unbounded_buffer обмена сообщениями.

Dd492602.collapse_all(ru-ru,VS.110).gifЗащищенные методы

Имя

Описание

Метод unbounded_buffer::accept_message

Принимает сообщение, которое было предложено этим блоком обмена сообщениями unbounded_buffer передавать владение участнику.

Метод unbounded_buffer::consume_message

Использует сообщение ранее предлагаемое блоком обмена сообщениями unbounded_buffer и зарезервированное целевым объектом передавать владение участнику.

Метод unbounded_buffer::link_target_notification

Обратный вызов, который сообщает, что новый целевой объект был связан с этот блок обмена сообщениями unbounded_buffer.

Метод unbounded_buffer::process_input_messages

Задает message_PMessage в этом блоке обмена сообщениями unbounded_buffer и пытается рекомендовать его ко всем связанным целевым объектам.

Метод unbounded_buffer::propagate_message

Асинхронно передает сообщения из блока ISource в этот блок обмена сообщениями unbounded_buffer.Вызывается методом propagate, вызывается блоком источника.

Метод unbounded_buffer::propagate_output_messages

Задает message_PMessage в этом блоке обмена сообщениями unbounded_buffer и пытается рекомендовать его ко всем связанным целевым объектам.Переопределяет source_block::propagate_output_messages().

Метод unbounded_buffer::release_message

Выпуски предыдущее резервирование сообщения.Переопределяет source_block::release_message().

Метод unbounded_buffer::reserve_message

Резервирует сообщение ранее предлагаемое этим блоком обмена сообщениями unbounded_buffer.Переопределяет source_block::reserve_message().

Метод unbounded_buffer::resume_propagation

Возобновляет распространение после резервирование было освобождено.Переопределяет source_block::resume_propagation().

Метод unbounded_buffer::send_message

Одновременно передает сообщения из блока ISource в этот блок обмена сообщениями unbounded_buffer.Вызывается методом send, вызывается блоком источника.

Метод unbounded_buffer::supports_anonymous_source

Переопределяет метод supports_anonymous_source, чтобы показать, что этот блок сообщений может принять предлагаемые к нему источника, который не связан.Переопределяет ITarget::supports_anonymous_source().

Заметки

Дополнительные сведения см. в разделе Асинхронные блоки сообщений.

Иерархия наследования

ISource

ITarget

source_block

propagator_block

unbounded_buffer

Требования

заголовок: agents.h

Параллелизм пространство имен:

См. также

Ссылки

Пространство имен concurrency

Класс overwrite_buffer

Класс single_assignment