java.lang.Object
net.i2p.util.SimpleTimer2.TimedEvent
net.i2p.client.streaming.impl.Connection.FloorCheckEvent
All Implemented Interfaces:
Runnable
Enclosing class:
Connection

private class Connection.FloorCheckEventextends SimpleTimer2.TimedEvent
Periodic evaluation of the throughput floor.

The ACK path can only reach the floor while bytes are being acknowledged, so a connection that has gone entirely quiet would never be examined and a hard stall would be undetectable from there. This timer closes that gap. It is armed only once a baseline exists, so connections that never transfer data do not pay for it.

  • Constructor Details

    • FloorCheckEvent

      FloorCheckEvent()
      Bind to the connection's shared timer with a 500ms reschedule threshold, so re-arming within that window of the pending fire is coalesced instead of churning the timer.
  • Method Details

    • arm

      void arm()
      Start the periodic check now that a baseline is available.
    • scheduleCheck

      void scheduleCheck(long delay)
      Reschedule on the next sample boundary.
      Parameters:
      delay - wait in ms until the next evaluation
    • timeReached

      public void timeReached()
      Description copied from class: SimpleTimer2.TimedEvent
      Called when this event's scheduled time arrives. Must NOT block. For periodic events, call schedule(period) at the end to self-reschedule.
      Specified by:
      timeReached in class SimpleTimer2.TimedEvent