aboutsummaryrefslogtreecommitdiff
path: root/lib/octonetcat/accepter.ex
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2017-11-24 09:39:16 -0700
committerkballou <kballou@devnulllabs.io>2017-11-24 09:54:20 -0700
commitcc67e8e9c1de34bcb2f1f2b84d96aca253b2ae08 (patch)
treed7b6aa561d9b8d8e3c5e061586e43022d3259306 /lib/octonetcat/accepter.ex
parentaef21fff8e18e33da0b08e274c0c7d216bc10241 (diff)
downloadoctonetcat-cc67e8e9c1de34bcb2f1f2b84d96aca253b2ae08.tar.gz
octonetcat-cc67e8e9c1de34bcb2f1f2b84d96aca253b2ae08.tar.xz
Add echo server0.2.0
Modify `acceptor` to pass over the connection to a task echo server.
Diffstat (limited to 'lib/octonetcat/accepter.ex')
-rw-r--r--lib/octonetcat/accepter.ex9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/octonetcat/accepter.ex b/lib/octonetcat/accepter.ex
index c76d0af..a398676 100644
--- a/lib/octonetcat/accepter.ex
+++ b/lib/octonetcat/accepter.ex
@@ -17,8 +17,13 @@ defmodule Octonetcat.Accepter do
defp loop_accepter(socket) do
{:ok, client} = :gen_tcp.accept(socket)
Logger.info("Accepted connection")
- Logger.info("Closing connection")
- :gen_tcp.close(client)
+ Logger.info("Passing to Echo Server")
+ {:ok, pid} = Task.Supervisor.start_child(
+ Octonetcat.TaskSupervisor,
+ Octonetcat.Echo,
+ :serve,
+ [client])
+ :ok = :gen_tcp.controlling_process(client, pid)
loop_accepter(socket)
end