anchor.diff:  
   -spec new_session(round(), comm:mypid(), rr_recon:method()) -> session().
   new_session(Round, Pid, RCMethod) ->
  -    #session{ id = {Round, Pid}, rc_method = RCMethod }.
  +    #session{ id = {Round, Pid}, rc_method = RCMethod, ttl = get_session_ttl() }.
   
   -spec session_id_equal(session_id(), session_id()) -> boolean().
   session_id_equal({{R, _}, Pid}, {{R, _}, Pid}) -> true;
  
positive.code: 
  -type round()       :: {non_neg_integer(), non_neg_integer()}.
  -type session_id()  :: {round(), comm:mypid()}.
  % @doc session contains only data of the sync request initiator thus rs_stats:regen_count represents only 
  %      number of regenerated db items on the initator
  -record(session, 
  
negative.code:     end,
      NewTriggerState = trigger:next(State#rrepair_state.trigger_state),
      State#rrepair_state{ trigger_state = NewTriggerState };
  
  on ({?GC_TRIGGER}, State = #rrepair_state{ gc_trigger = GCState,
                                             open_sessions = Sessions }) ->
      Elapsed = get_gc_interval(),
      NewSessions = [S#session{ ttl = S#session.ttl - Elapsed } 
                              || S <- Sessions,
                                 S#session.ttl - Elapsed > 0],
      State#rrepair_state{ gc_trigger = trigger:next(GCState),
                           open_sessions = NewSessions };
  
  on({request_resolve, SessionID, Operation, Options}, State = #rrepair_state{ open_resolve = OpenResolve }) ->
      {ok, Pid} = rr_resolve:start(SessionID),
  