Пространство имен so_4::api::deliver_msg_helper


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

Вспомогательное пространство имен для деталей реализации операции deliver-msg.

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


Функции

template<class DELIVERY_MAN>
unsigned int deliver_and_dispatch (const so_4::rt::msg_data_t &data, so_4::rt::dispatcher_binding_t *insend_binding, DELIVERY_MAN &delivery_man)
 Вспомогательная функция для передачи заявок в delivery_man и диспетчеризации заявок из delivery_man на диспетчеров.
unsigned int deliver_and_dispatch_one_demand (const so_4::rt::msg_data_t &data, so_4::rt::dispatcher_binding_t *insend_binding)
 Обработка ситуации, когда сообщение порождает всего одну заявку.
template<size_t DEMAND_COUNT>
unsigned int deliver_and_dispatch_few_demands (const so_4::rt::msg_data_t &data, so_4::rt::dispatcher_binding_t *insend_binding)
 Обработка ситуации, когда сообщение порождает небольшое количество заявок.
unsigned int deliver_and_dispatch_many_demands (const so_4::rt::msg_data_t &data, so_4::rt::dispatcher_binding_t *insend_binding, const size_t demand_count)
 Обработка ситуации, когда сообщение порождает большое количество заявок.
unsigned int generate_demands_on_blocked_kernel (const so_4::rt::msg_data_t &data, const insend_dispatching_status_t &insend_status, insend_helper::insend_event_dispatcher_binding_t &insend_event_dispatcher_binding)
 Выполнение генерации заявок для доставляемого сообщения.


Функции

template<class DELIVERY_MAN>
unsigned int so_4::api::deliver_msg_helper::deliver_and_dispatch ( const so_4::rt::msg_data_t data,
so_4::rt::dispatcher_binding_t insend_binding,
DELIVERY_MAN &  delivery_man 
) [inline]

Вспомогательная функция для передачи заявок в delivery_man и диспетчеризации заявок из delivery_man на диспетчеров.

Начиная с:
v.4.4.0-b6
Возвращает:
Количество помещенных в delivery_man заявок.

Перекрестные ссылки so_4::rt::impl::msg_data_impl_t::deliver() и so_4::rt::msg_data_t::query_impl().

Используется в deliver_and_dispatch_few_demands(), deliver_and_dispatch_many_demands() и deliver_and_dispatch_one_demand().

template<size_t DEMAND_COUNT>
unsigned int so_4::api::deliver_msg_helper::deliver_and_dispatch_few_demands ( const so_4::rt::msg_data_t data,
so_4::rt::dispatcher_binding_t insend_binding 
) [inline]

Обработка ситуации, когда сообщение порождает небольшое количество заявок.

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

Перекрестные ссылки deliver_and_dispatch().

unsigned int so_4::api::deliver_msg_helper::deliver_and_dispatch_many_demands ( const so_4::rt::msg_data_t data,
so_4::rt::dispatcher_binding_t insend_binding,
const size_t  demand_count 
) [inline]

Обработка ситуации, когда сообщение порождает большое количество заявок.

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

Перекрестные ссылки deliver_and_dispatch().

Используется в generate_demands_on_blocked_kernel().

unsigned int so_4::api::deliver_msg_helper::deliver_and_dispatch_one_demand ( const so_4::rt::msg_data_t data,
so_4::rt::dispatcher_binding_t insend_binding 
)

Обработка ситуации, когда сообщение порождает всего одну заявку.

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

Перекрестные ссылки deliver_and_dispatch().

Используется в generate_demands_on_blocked_kernel().

unsigned int so_4::api::deliver_msg_helper::generate_demands_on_blocked_kernel ( const so_4::rt::msg_data_t data,
const insend_dispatching_status_t &  insend_status,
insend_helper::insend_event_dispatcher_binding_t &  insend_event_dispatcher_binding 
)

Выполнение генерации заявок для доставляемого сообщения.

Начиная с:
v.4.4.0 Перед началом своей работы определяет, какой диспетчер должен использоваться (insend-helper или основной).
Внимание:
Должна вызываться при заблокированном ядре.

Перекрестные ссылки deliver_and_dispatch_many_demands(), deliver_and_dispatch_one_demand(), so_4::api::insend_dispatching_enabled, so_4::rt::impl::msg_data_impl_t::m_wrapper и so_4::rt::msg_data_t::query_impl().

Используется в so_4::api::deliver_msg_on_blocked_kernel().


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