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