Разница между handle_info и handle_in канала

Я прошел через https://hexdocs.pm/phoenix/Phoenix.Channel.html. Кажется, что handle_info имеет те же функции, что и handle_in. При каких обстоятельствах следует использовать handle_info?


person pytong    schedule 03.05.2016    source источник


Ответы (1)


Использование для handle_info такое же, как и в GenServer и обычно проявляется в поведении (GenEvent, DBConnection)

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

msg — это сообщение, а state — это текущее состояние GenServer. Когда происходит тайм-аут, появляется сообщение: timeout.

Возвращаемые значения такие же, как и у handle_cast/2..

Если вы отправляете сообщение процессу вручную (используя send), то оно будет обработано с помощью handle_info. handle_info также используется для уведомления о выходе из строя процесса, если процесс (в данном случае канал) отслеживает его.

person Gazler    schedule 04.05.2016