anchor.diff: +%% @doc Ssl Socket listening server.  Clients are expected to first contact
  +%% this listeer before attempting to reach the others.  Uses an accept 
  +%% pool for extra awesome.
   -module(pre_ssl_listener).
   -behavior(gen_server).
   
  
positive.code: init(Args) ->
  	process_flag(trap_exit, true),
  	Port = proplists:get_value(port, Args, 6006),
  	SimpleOpts = [list, {packet, line}, {reuseaddr, true},
  		{keepalive, true}, {backlog, 30}, {active, false}],
  	case ssl:listen(Port, SimpleOpts) of
  		{ok, Listen_socket} ->
  			%%Create first accepting process
  			Acceptor = spawn_link(?MODULE, spawn_acceptor, [Listen_socket]),
  			?info("Started on port ~p", [Port]),
  			{ok, #state{listener = Listen_socket, acceptor = Acceptor}};
  		{error, Reason} ->
  			?warning("Could not start ssl:  ~p", [Reason]),
  			{stop, Reason}
  
negative.code: %% handle_info
  %% =====
  
  handle_info({'EXIT', Pid, Cause}, #state{acceptors = Acceptors} = State) ->
  	case Cause of
  		Normies when Normies =:= normal; Normies =:= shutdown -> ok;
  		_ -> ?info("Acceptor ~p died due to ~p", [Pid, Cause])
  	end,
  	CleanAcceptors = lists:delete(Pid, Acceptors),
  	NewAcceptors = spawn_acceptors(State#state.listener, State#state.poolsize, CleanAcceptors),
  	{noreply, State#state{acceptors = NewAcceptors}};
  
  handle_info(Req, State) ->
  	?debug("Unhandled info:  ~p", [Req]),
  