separate execution no shared memory separate garbage collection cooperation through communication isolated crashes detectable crashes of other processes
defmodule MySocket do use Phoenix.Socket transport :websocket, Phoenix.Transports.WebSocket transport :longpoll, Phoenix.Transports.LongPoll channel "lobby", LobbyChannel channel "room:*", RoomChannel # ... end
defmodule RoomChannel do use Phoenix.Channel def join(topic, payload, socket) do # ... end def handle_in(event, payload, socket) do # ... end def handle_info(erlang_message, socket) do # ... end end