anchor.diff:  -spec handle_cast(term(), #state{}) ->
       gen_server_cast(#state{}).
   
  +handle_cast({start_ping, Secs}, State) ->
  +    Time = 1000*Secs,
  +    _Ref = erlang:start_timer(Time, self(), do_ping),
  +    {noreply, State#state{refresh=Time}, infinity};
  +
   handle_cast(stop, State) ->
       {stop, normal, State};
   
  
positive.code:     #state{socket=Socket, transport=#transport{proto=Proto}} = State,
      setopts(Proto, Socket, [{active, once}]),
      {noreply, State, State#state.timeout};
  
  handle_info(Info, State) -> 
      lager:warning("Module ~p received nexpected info: ~p", [?MODULE, Info]),
  
negative.code: -author('Carlos Gonzalez <carlosj.gf@gmail.com>').
  -behaviour(gen_server).
  
  -export([start_listener/5, connect/5, send/2, stop/1, start_ping/1, start_ping/2]).
  -export([start_link/3, init/1, terminate/2, code_change/3, handle_call/3,   
              handle_cast/2, handle_info/2]).
  -export([ranch_start_link/6, start_link/4]).
  