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

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

so_4::rt::impl::delivery_man_t

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


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

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

Начиная с:
v.4.4.0-b6 Корректность того, что размер буфера достаточен для сохранения всех заявок возлагается на вызывающую сторону.

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

 fixed_buffer_delivery_man_t (single_demand_info_t *buffer)
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)
 Выполнить диспетчеризацию всех сгенерированных событий.

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

single_demand_info_tm_buffer
 Вектор заявок.
size_t m_buffer_size
 Текущее количество заявок во внутреннем буфере.

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

so_4::rt::impl::fixed_buffer_delivery_man_t::fixed_buffer_delivery_man_t ( single_demand_info_t buffer  ) 

Аргументы:
buffer  Буфер, который должен использоваться для хранения заявок.


Методы

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

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

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

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

Перекрестные ссылки m_buffer и m_buffer_size.

void so_4::rt::impl::fixed_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_buffer и m_buffer_size.


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