* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ratelimiter.c,v 1.19 2002/07/26 06:42:01 marka Exp $ */
+/* $Id: ratelimiter.c,v 1.20 2002/09/08 18:35:20 explorer Exp $ */
#include <config.h>
#include <isc/util.h>
typedef enum {
- isc_ratelimiter_stalled,
- isc_ratelimiter_ratelimited,
- isc_ratelimiter_worklimited,
- isc_ratelimiter_shuttingdown
+ isc_ratelimiter_stalled = 0,
+ isc_ratelimiter_ratelimited = 1,
+ isc_ratelimiter_idle = 2,
+ isc_ratelimiter_shuttingdown = 3
} isc_ratelimiter_state_t;
struct isc_ratelimiter {
isc_interval_set(&rl->interval, 0, 0);
rl->timer = NULL;
rl->pertic = 1;
- rl->state = isc_ratelimiter_worklimited;
+ rl->state = isc_ratelimiter_idle;
ISC_LIST_INIT(rl->pending);
result = isc_mutex_init(&rl->lock);
ev->ev_sender = task;
ISC_LIST_APPEND(rl->pending, ev, ev_link);
*eventp = NULL;
- } else if (rl->state == isc_ratelimiter_worklimited) {
+ } else if (rl->state == isc_ratelimiter_idle) {
result = isc_timer_reset(rl->timer, isc_timertype_ticker, NULL,
&rl->interval, ISC_FALSE);
if (result == ISC_R_SUCCESS) {
isc_timertype_inactive,
NULL, NULL, ISC_FALSE);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
- rl->state = isc_ratelimiter_worklimited;
+ rl->state = isc_ratelimiter_idle;
pertic = 0; /* Force the loop to exit. */
}
UNLOCK(&rl->lock);
result = isc_timer_reset(rl->timer, isc_timertype_inactive,
NULL, NULL, ISC_FALSE);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
- case isc_ratelimiter_worklimited:
+ case isc_ratelimiter_idle:
case isc_ratelimiter_stalled:
rl->state = isc_ratelimiter_stalled;
break;
if (result == ISC_R_SUCCESS)
rl->state = isc_ratelimiter_ratelimited;
} else
- rl->state = isc_ratelimiter_worklimited;
+ rl->state = isc_ratelimiter_idle;
break;
case isc_ratelimiter_ratelimited:
- case isc_ratelimiter_worklimited:
+ case isc_ratelimiter_idle:
break;
}
UNLOCK(&rl->lock);