racket/collects/web-server/scribblings/timer.scrbl
Eli Barzilay a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00

49 lines
1.3 KiB
Racket

#lang scribble/doc
@(require "web-server.ss")
@title[#:tag "timer.ss"]{Timers}
@(require (for-label web-server/private/timer))
@defmodule[web-server/private/timer]{
This module provides a functionality for running
procedures after a given amount of time, that may be extended.
@defstruct[timer ([evt evt?]
[expire-seconds number?]
[action (-> void)])]{
@scheme[evt] is an @scheme[alarm-evt] that is ready at @scheme[expire-seconds].
@scheme[action] should be called when this @scheme[evt] is ready.
}
@defproc[(start-timer-manager)
void]{
Handles the execution and management of timers.
}
@defproc[(start-timer [s number?]
[action (-> void)])
timer?]{
Registers a timer that runs @scheme[action] after @scheme[s] seconds.
}
@defproc[(reset-timer! [t timer?]
[s number?])
void]{
Changes @scheme[t] so that it will fire after @scheme[s] seconds.
}
@defproc[(increment-timer! [t timer?]
[s number?])
void]{
Changes @scheme[t] so that it will fire after @scheme[s] seconds from when
it does now.
}
@defproc[(cancel-timer! [t timer?])
void]{
Cancels the firing of @scheme[t] ever and frees resources used by @scheme[t].
}
}