anchor.diff:  %%------------------------------------------------------------------------------
   
   -record(rate_info, {
  -          average   :: 'wait' | concuerror_window_average:average(),
  +          average   :: concuerror_window_average:average(),
             prev      :: non_neg_integer(),
  -          ready     :: boolean(),
             timestamp :: timestamp()
            }).
   
  
positive.code:   #rate_info{
       average   = Average,
       prev      = Prev,
       ready     = Ready,
       timestamp = Old
      } = RateInfo,
    New = timestamp(),
    Time = timediff(New, Old),
    Diff = Useful - Prev,
    CurrentRate = Diff / (Time + 0.0001),
    {Rate, NewAverage, NewReady} =
      case Ready of
        true ->
          {R, NA} = concuerror_window_average:update(CurrentRate, Average),
          {round(R), NA, true};
        false when Prev > 30 ->
          {CurrentRate, concuerror_window_average:init(CurrentRate, 20), true};
        false ->
          {wait, wait, false}
      end,
    NewRateInfo =
      RateInfo#rate_info{
        average   = NewAverage,
        prev      = Useful,
        ready     = NewReady,
        timestamp = New
       },
    {Rate, NewRateInfo}.
  
  %%------------------------------------------------------------------------------
  
  
negative.code: 
  init_rate_info() ->
    #rate_info{
       average   = concuerror_window_average:init(0, 10),
       prev      = 0,
       timestamp = timestamp()
      }.
  
  