blob: d412ca5397eea9bdb5cadd8bbc5d777e18e3829f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
defmodule Octochat.ServerSupervisor do
@moduledoc """
Simple One-for-One Supervisor for socket connections
"""
use Supervisor
def start_link() do
Supervisor.start_link(__MODULE__, :ok, name: __MODULE__)
end
def init(:ok) do
children = [
worker(Octochat.Echo, [], restart: :temporary)
]
supervise(children, strategy: :simple_one_for_one)
end
def start_server(socket) do
Supervisor.start_child(__MODULE__, [socket])
end
end
|