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:     transport :: nksip_transport:transport(),
      socket :: port() | ssl:sslsocket(),
      timeout :: non_neg_integer(),
      buffer = <<>> :: binary()
  }).
  
  
negative.code:     nksip_proc:put(nksip_transports, {AppId, Transport}),
      nksip_counters:async([?MODULE]),
      Timeout = 1000*nksip_config:get(tcp_timeout),
      State = #state{
          app_id = AppId,
          transport = Transport, 
          socket = Socket, 
          timeout = Timeout,
          buffer = <<>>
      },
      {ok, State, Timeout}.
  
  
  %% @private
  