Класс so_4::rt::impl::dynamic_buffer_delivery_man_t

Граф наследования:so_4::rt::impl::dynamic_buffer_delivery_man_t:

so_4::rt::impl::delivery_man_t

Полный список членов класса


Подробное описание

Реализация delivery_man для случая динамического буфера для хранения заявок.

Начиная с:
v.4.4.0-b6

Открытые члены

 dynamic_buffer_delivery_man_t (size_t demands_count)
virtual void add (int priority, event_data_single_t *single_event)
 Добавить еще одно событие.
unsigned int demand_count () const
 Определить количество сохраненных заявок.
void dispatch (dispatcher_binding_t *insend_event_dispatcher_binding)
 Выполнить диспетчеризацию всех сгенерированных событий.

Закрытые типы

typedef std::vector
< single_demand_info_t
demand_info_vector_t
 Тип вектора заявок.

Закрытые данные

demand_info_vector_t m_demands
 Вектор заявок, ожидающих диспетчеризации.

Конструктор(ы)

so_4::rt::impl::dynamic_buffer_delivery_man_t::dynamic_buffer_delivery_man_t ( size_t  demands_count  ) 

Аргументы:
demands_count  Ориентировочное количество заявок, которые предстоит диспетчировать.

Перекрестные ссылки m_demands.


Методы

void so_4::rt::impl::dynamic_buffer_delivery_man_t::add ( int  priority,
event_data_single_t single_event 
) [virtual]

Добавить еще одно событие.

Аргументы:
single_event  Указатель на динамически созданный объект!

Замещает so_4::rt::impl::delivery_man_t.

Перекрестные ссылки m_demands.

void so_4::rt::impl::dynamic_buffer_delivery_man_t::dispatch ( dispatcher_binding_t insend_event_dispatcher_binding  ) 

Выполнить диспетчеризацию всех сгенерированных событий.

Если insend_event_dispatcher_binding отличен от нуля, то при диспетчеризации заявок проверяется тип заявки и insend-события передаются на обработку insend_event_dispatcher_binding. А остальные события передаются dispatcher_binding-ам своих агентов.

Если же insend_event_dispatcher_binding равен нулю, то все события передаются dispatcher_binding-ам своих агентов.

Аргументы:
insend_event_dispatcher_binding  Dispatcher_binding для insend-событий.

Перекрестные ссылки m_demands.


Данные класса

Вектор заявок, ожидающих диспетчеризации.

Метод add добавляет заявку в конец вектора вне зависимости от ее приоритета. Сортировка заявок по приоритетам и агентам производится в методе dispatch().

Используется в add(), demand_count(), dispatch() и dynamic_buffer_delivery_man_t().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:50 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo