Constructor.
Decides whether the suspendables should be resumed. Called by throttle() when suspended.
Decides whether the suspendables should be suspended. Called by throttle() when not suspended.
When the number of pending items reaches this value or less, the suspendables will be resumed.
When the number of pending items reaches this value or greater, the suspendables will be suspended.
Adds a suspendable to the list of suspendables which are to be throttled if it's not already in there. Also ensures that the state of the added suspendable is consistent with the state of the throttler.
Removes a suspendable from the list of suspendables if it exists.
Clears the list of suspendables.
Checks if the suspend limit has been reached and the suspendables need to be suspended.
Checks if resume limit has been reached and the suspendables need to be resumed.
Decides whether the suspendables should be suspended. Called by throttledSuspend() when not suspended.
Decides whether the suspendables should be resumed. Called by throttledResume() when suspended.
Abstract base class for suspendable throttlers which throttle based on a count of pending items of some kind.
Provides the following additional functionality: * An abstract length() method which determines the current count of pending items. * suspend() and resume() methods which suspend or resume the ISuspendables based on the count of pending items and the suspend and resume points defined in the constructor.