anchor.diff:                  %% may fail, when tcp just closed
                   _ = inet:setopts(Socket, [{active, once}]),
                   State
  -    end,
  -    send_bundle_if_ready(NewState);
  +        end,
  +    New2State = set_time_last_msg_seen(NewState),
  +    send_bundle_if_ready(New2State);
   
   on({tcp_closed, Socket}, State) ->
       log:log(warn,"[ CC ~p (~p) ] tcp closed", [self(), pid_groups:my_pidname()]),
  
positive.code: -spec set_last_stat_report(state(), stat_report()) -> state().
  set_last_stat_report(State, Val) -> setelement(13, State, Val).
  
  -spec time_last_msg_sent(state()) -> erlang:timestamp().
  time_last_msg_sent(State) -> element(14, State).
  -spec set_time_last_msg_sent(state()) -> state().
  set_time_last_msg_sent(State) -> setelement(14, State, os:timestamp()).
  
  -spec time_last_msg_received(state()) -> erlang:timestamp().
  time_last_msg_received(State) -> element(15, State).
  
negative.code:     OldList = last_msg_sent(State),
      NumToKeep = erlang:max(?NUM_KEEP - length(Msg), 0),
      NewList = Msg ++ lists:sublist(OldList, NumToKeep),
      State2 = set_time_last_msg_seen(State),
      State3 = inc_s_msg_count(State2, length(Msg)),
      setelement(19, State3, NewList).
  
  