### ---------------------------------------------------------------------- ### ### Copyright (c) 2013 - 2020 Jahred Love and Xirsys LLC ### ### All rights reserved. ### ### XTurn is licensed by Xirsys under the Apache ### License, Version 2.0. (the "License"); ### ### you may not use this file except in compliance with the License. ### You may obtain a copy of the License at ### ### http://www.apache.org/licenses/LICENSE-2.0 ### ### Unless required by applicable law or agreed to in writing, software ### distributed under the License is distributed on an "AS IS" BASIS, ### WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ### See the License for the specific language governing permissions and ### limitations under the License. ### ### See LICENSE for the full license text. ### ### ---------------------------------------------------------------------- defmodule Xirsys.Sockets.SockSupervisor do use Supervisor require Logger def start_link() do Supervisor.start_link(__MODULE__, [], name: __MODULE__) end def start_child(sock, cb, ssl) do spec = %{ id: Xirsys.Sockets.Client, start: {Xirsys.Sockets.Client, :start_link, [sock, cb, ssl]}, restart: :temporary } Supervisor.start_child(__MODULE__, spec) end def terminate_child(child) do Supervisor.terminate_child(__MODULE__, child) end def init([]) do children = [] Supervisor.init(children, strategy: :simple_one_for_one) end end