Erlang is a programming language used
to build massively scalable soft real-time
systems with requirements on high
availability.
erlang.org
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
separate execution
no shared memory
separate garbage collection
cooperation through communication
isolated crashes
detectable crashes of other processes
Slide 8
Slide 8 text
run different "things" separately
Slide 9
Slide 9 text
scheduler scheduler scheduler scheduler
CPU CPU CPU CPU
Erlang VM
defmodule MyEndpoint do
socket "/socket", MySocket
# ...
end
Slide 27
Slide 27 text
defmodule MySocket do
use Phoenix.Socket
transport :websocket, Phoenix.Transports.WebSocket
transport :longpoll, Phoenix.Transports.LongPoll
channel "lobby", LobbyChannel
channel "room:*", RoomChannel
# ...
end
Slide 28
Slide 28 text
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