anchor.diff:  -spec last_msg_sent(state()) -> erlang:timestamp().
   last_msg_sent(State) -> element(14, State).
   -spec set_last_msg_sent(state()) -> state().
  -set_last_msg_sent(State) -> setelement(14, State, erlang:now()).
  +set_last_msg_sent(State) -> setelement(14, State, os:timestamp()).
   
   -spec start_idle_check() -> ok.
   start_idle_check() ->
  
positive.code:     case socket(State) =:= notconnected of
          true -> State;
          _    ->
              case timer:now_diff(erlang:now(), LastMsgSent) div 1000 of
                  N when N > Timeout ->
                      %% we timed out
                      ?TRACE("Closing idle connection: ~p~n", [State]),
  
negative.code:     end;
  
  on({web_debug_info, Requestor}, State) ->
      Now = os:timestamp(),
      LastMsgSent = last_msg_sent(State),
      SecondsAgo =
          case LastMsgSent of
  