defmodule Octonetcat.Echo do @moduledoc """ Echo TCP Socket Server Started under a task supervisor, lives for the life of the socket, dies on failure or disconnect. """ def serve(socket) do socket |> read_line!() |> write_line!(socket) serve(socket) end def read_line!(socket) do {:ok, line} = :gen_tcp.recv(socket, 0) line end def write_line!(line, socket) do :gen_tcp.send(socket, line) end end