ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
Открытые типы | Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс com::sys::AsyncActionItemExecutor

Интерфейс запускателя асинхронного action item. Подробнее...

#include <async_action_item_executor.h>

Открытые типы

typedef std::function< void(std::shared_ptr
< Anymap >) > 
OnMessageClb
 Тип колбэка для приема сообщений от action item.
 

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

 AsyncActionItemExecutor (boost::asio::io_service &ioservice)
 
 AsyncActionItemExecutor (boost::asio::io_service &ioservice, std::shared_ptr< ActionItemExecutor > syncAIExecutor)
 
virtual
ActionItemExecutor::ErrorCode 
execute (const Anymap &input, OnMessageClb clb)
 

Защищенные члены

void proxyMessageViaIoservice (OnMessageClb originClb, std::shared_ptr< Anymap > msg)
 

Защищенные данные

boost::asio::io_service & m_ioservice
 

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

Интерфейс запускателя асинхронного action item.

AsyncActionItemExecutor является абстракцией над асинхронными механизмами запуска любых модулей. Так как любую синхронную функцию можно запустить асинхронно, AsyncActionItemExecutor может быть построен из ActionItemExecutor.

Предупреждения
Не закончен!
Необходимо сделать:
возможно стоит реализовать эту идею через context

Методы

ActionItemExecutor::ErrorCode com::sys::AsyncActionItemExecutor::execute ( const Anymap input,
OnMessageClb  clb 
)
virtual

Выполняет асинхронный запуск. Входные данные будут скопированы.

Предупреждения
Коллбэк должен быть неблокирующим. Он будет запущен через проксирование с помощью ioservice, так что даже при запуске action item в отдельном потоке проблем не возникнет

Объявления и описания членов классов находятся в файлах: