tg_client v0.1.2 TgClient.PortManager

Worker for dealing with port range.

Summary

Functions

Try add port to state

Try get free port

Release port

Starts PortManager

Functions

bind_port(port)

Specs

bind_port(non_neg_integer) ::
  {:ok, {:bound, non_neg_integer}} |
  {:error, {:already_bound, non_neg_integer}}

Try add port to state

check_system_port(port)
get_free_port()

Specs

get_free_port ::
  {:ok, non_neg_integer} |
  {:error, :no_free_ports}

Try get free port

release_port(port)

Specs

release_port(non_neg_integer) :: atom

Release port

start_link(ports)

Specs

start_link(MapSet.t) :: GenServer.on_start

Starts PortManager