Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Alterator/module/backend ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Alterator/module/backend за 2008-06-30 16:33:35..

Бакенд

Существует два вида бакендов: нативные и внешние. Размещаются эти бакенды в каталогах /usr/lib/alterator/backend2 и /usr/lib/alterator/backend3 соответственно.


Нативные бакенды пишутся только на языке scheme и работают внутри процесса alterator. Написание нативных бакендов требует достаточно большого опыта программирования и большой аккуратности.


Внешний бакенд может быть написан на произвольном языке програмирования, при этом настоятельно рекомендуется использовать готовые библиотеки, предоставляющие API для взаимодействия с alterator. Все библиотеки построены по одному и тому же принципу – есть главный цикл взаимодействующий с alterator и есть функция-обработчик пришедших сообщений.
В функции обработчике:

Простейший бакенд на shell


Пример простейшего бакенда на shell:

В данном примере: message_loop — запуск цикла обработки событий, on_message — обработчик входящих сообщний. Входные переменные выглядят как переменные $in_<имя>. Выходные печатаются при помощи функций write_* . alterator_api_version – текущая версия API для взаимодействия с alterator. Если к к бакенду <name> обращались из интерфейса по адресу /<name>/foo/bar, то переменная $in__objects будет равна «foo/bar» (то есть «хвост» адреса), если обращались по адресу /<name>, то $in__objects будет равна «/».

Простейший бакенд на perl


Пример аналогичного бакенда на perl (см. также здесь):


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]