anchor.diff:      transport :: nksip_transport:transport(),
       socket :: port() | ssl:sslsocket(),
       timeout :: non_neg_integer(),
  +    refresh :: pos_integer(),
       buffer = <<>> :: binary()
   }).
   
  
positive.code: -author('Carlos Gonzalez <carlosj.gf@gmail.com>').
  -behaviour(gen_server).
  
  -export([start_listener/5, connect/5, send/2, stop/1]).
  -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]).
  
negative.code: -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};
  
  