anchor.diff:  
   
   handle_packet(#'UNSUBSCRIBE'{packet_id = PacketId,topic_filters = Filters},
  -    S = #state{session_in = SessionIn}) ->
  +              S = #state{session_in = SessionIn}) ->
       [ ok = mqtt_session:unsubscribe(SessionIn,Filter) || Filter <- Filters],
       Ack = #'UNSUBACK'{packet_id = PacketId},
       send_to_client(S,Ack),
  
positive.code:     TRef = timer:send_after(Timeout, {keep_alive_timeout,MatchRef}),
      {TRef,MatchRef}.
  
  reset_keep_alive(S = #state{keep_alive_ref = Ref,keep_alive_timeout = TimeOut}) ->
  
      case TimeOut of
          undefined
  
negative.code: 
  start_keep_alive(S,TimeOut) ->
      Ref = set_keep_alive_timer(TimeOut),
      S#state {keep_alive_ref = Ref,
               keep_alive_timeout = TimeOut}.
  
  %% We use MatchRef to ensure we only receive current timeouts.
  %% Thus we avoid some weird behavior if we happen to receive old timeout messages
  