![]() |
От: |
Mamut
|
http://dmitriid.com |
Дата: | 19.04.07 07:08 | ||
Оценка: |
Да, кстати, есть идея написать статью "А как оно ваще работает", где на каком-нить простеньком примере показано совместное использование всех стандартных поведений, их взаимосвязь и основные функции оных поведений (т.е. не я =). Ибо я это буду читать =)). Вот тока писать это должен человек, который имел дело со всеме модулями и разбирается в конечных автоматах. А также необходимо придумать такую идиотскую задачу, в которой понадобятся все эти модули.
Еще интересен вопрос, не ничего имеющий общего с OTP, ака "Подключение Сишных библиотек внутрь Эрланга". Т.е. задача такова — есть некий источник данных, подключить который можно только на Си. Источнику в инициализации задается callback-функция, которую он дергает каждый раз по приходу данных. А эта функция должна каким-то образом послать данные в эрланговый процесс, который уже и будет заниматся форматированием, сортировкой и раздачей данных. Однако, просмотрев вскользь способ работы с openssl в ejabberd, мне показалось (мож я че недоглядел), что там ситуация несколько другая — эрланговый процесс дергает сишную функцию, которая тупо ждет на порту данных (как gen_tcp:recv) и возвращает их по мере прибытия. Если же послать сообщение в эрланг из си невозможно, то можно ли подключить сишный процесс как эрланговый и общатся с ним хоть как-нибудь (хотя пайпы оч нежелательны — больно нестабильно)?