Он и правда делает вложенный receive loop возможным с некоторыми оговорками. В общем, тут есть несколько моментов, которые я хотел бы упомянуть:
— во-первых, `is_connection_message` появился только год с небольшим назад и не был доступен ни разработчикам tesla, писавшим минтовский адаптер, ни нам на момент описываемых событий;
— во-вторых, в том самом примере из доки минта, есть клоз с other, который прекрасно обработает сообщения внешнего receive loop'а;
Но даже если предположить, что вложенный receive loop не имеет other клоза, это все ещё блокирующий вызов и может, например, крашнуть процесс генсервера по таймауту GenServer.call'а.
В любом случае мой посыл — быть внимательными к тому коду, что выполняется в коллбеках.
Он и правда делает вложенный receive loop возможным с некоторыми оговорками. В общем, тут есть несколько моментов, которые я хотел бы упомянуть:
— во-первых, `is_connection_message` появился только год с небольшим назад и не был доступен ни разработчикам tesla, писавшим минтовский адаптер, ни нам на момент описываемых событий;
— во-вторых, в том самом примере из доки минта, есть клоз с other, который прекрасно обработает сообщения внешнего receive loop'а;
Но даже если предположить, что вложенный receive loop не имеет other клоза, это все ещё блокирующий вызов и может, например, крашнуть процесс генсервера по таймауту
GenServer.call
'а.В любом случае мой посыл — быть внимательными к тому коду, что выполняется в коллбеках.