anchor.diff:      Ret = Callback:crlfping(Transport, Socket),
       lager:info("send CRLF ping= ~p", [Ret]),
       case Ret of
  -        {error, Err} ->
  +        {error, _Err} ->
               {stop, normal, disconnect, StateData};
   
           ok ->
               {reply, ok, connected, StateData, 5000}
       end;
   
  -connected(_,_, StateData) ->
  +connected(_,_, _StateData) ->
       {stop, normal, disconnect, undefined}.
   
  -connected({timeout, _, timeout1}, StateData) ->
  +connected({timeout, _, timeout1}, _StateData) ->
   	lager:info("timeout after connection"),
   	{stop, disconnect, []};
   
  
positive.code:             false
      end.
  
  garbage_collect(Pid) ->
      ok.
  
  %
  
negative.code:     gen_fsm:cancel_timer(Ref),
      {reply, undefined, connected, StateData#session{pingid=undefined}, round(Ka*1.5)};
  
  connected(#mqtt_msg{type='PUBLISH', qos=Qos, payload=P}, _, StateData=#session{deviceid=_DeviceID,keepalive=Ka}) ->
      Topic   = proplists:get_value(topic, P),
      Content = proplists:get_value(data, P),
  
  