anchor.diff:      gen_server:cast(Pid, stop).
   
   
  -
  +%% @doc Start a time-alive series (default time)
  +-spec start_ping(pid()) ->
  +    ok.
  +
  +start_ping(Pid) ->
  +    start_ping(Pid, ?DEFAULT_TCP_KEEPALIVE).
  +
  +
  +%% @doc Start a time-alive series
  +-spec start_ping(pid(), pos_integer()) ->
  +    ok.
  +
  +start_ping(Pid, Secs) ->
  +    Rand = crypto:rand_uniform(80, 101),
  +    Time = (Rand*Secs) div 100,
  +    gen_server:cast(Pid, {start_ping, Time}).
  +
  +    
   %% ===================================================================
   %% gen_server
   %% ===================================================================
  
positive.code: -spec handle_cast(term(), #state{}) ->
      gen_server_cast(#state{}).
  
  handle_cast(stop, State) ->
      {stop, normal, State};
  
  
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]).
  