diff --git a/lib/broker.ex b/lib/broker.ex index d35e861..8ffc7d2 100644 --- a/lib/broker.ex +++ b/lib/broker.ex @@ -1,19 +1,26 @@ defmodule Broker do use GenServer - def init(opts) do + def init({protocol, port, to_host, to_port}) do {:ok, listen_socket} = - :gen_tcp.listen(opts[:port], [ + :gen_tcp.listen(port, [ :binary, reuseaddr: true, active: false, backlog: 100 ]) - {:ok, opts} + {:ok, + %{ + protocol: protocol, + port: port, + to_host: to_host, + to_port: to_port, + listen_socket: listen_socket + }} end - defp accept_loop(listen_socket) do + def accept_loop(listen_socket) do case :gen_tcp.accept(listen_socket) do {:ok, socket} -> spawn(__MODULE__, :handle_client, [socket])