diff options
Diffstat (limited to 'lib/net/tcpserver.ex')
-rw-r--r-- | lib/net/tcpserver.ex | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/lib/net/tcpserver.ex b/lib/net/tcpserver.ex deleted file mode 100644 index 46552a4..0000000 --- a/lib/net/tcpserver.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule SNet.TCPServer do - require Logger - use Task, restart: :permanent - - def start_link(port) do - Task.start_link(__MODULE__, :accept, [port]) - end - - @doc """ - Starts accepting connections on the given `port`. - """ - def accept(port) do - {:ok, socket} = :gen_tcp.listen(port, - [:binary, packet: 2, active: false, reuseaddr: true]) - Logger.info "Accepting connections on port #{port}" - loop_acceptor(socket, port) - end - - defp loop_acceptor(socket, my_port) do - {:ok, client} = :gen_tcp.accept(socket) - {:ok, pid} = DynamicSupervisor.start_child(Shard.DynamicSupervisor, {SNet.TCPConn, %{socket: client, my_port: my_port}}) - :ok = :gen_tcp.controlling_process(client, pid) - loop_acceptor(socket, my_port) - end -end - |