В концептуальном доказательстве, которое я разрабатываю, я построил следующую схему:
_ A _ _
/ | \ \
SS S H CC
/ \
C C
в котором:
A - Заявка
СС - супервайзер
УК - «Реальный» клиент
S - gen_server
H - gen_event
C - «внутренний» клиент
Приложение работает как мультиплексор. Я подключаюсь к своему внутреннему клиенту на моем сервере и запрашиваю некоторые вещи. Затем я передаю этот запрос моему реальному клиенту (который подключается к реальному приложению) и распределяю его по любому внутреннему клиенту, которому требуются такие вещи.
Все работает нормально, за исключением обработки событий: я хотел, чтобы мой внутренний клиент отправлял сообщения непосредственно обработчикам gen_event, и он выполнял бы процесс запроса реального сервера / чтения из кэша и ответа клиенту.
Я подумал, что мне нужно сделать связь между обработчиком событий и процессом обработки моего клиента, это правильно? Может быть, дело в том, чтобы обработчик событий был глобальным процессом и просто перекачивал сообщения между клиентами?
Извините за длинный вопрос.