annotate man/irccd-api-timer.3 @ 932:0e11221c9bcc

man: split irccd-api into individual ones
author David Demelier <markand@malikania.fr>
date Tue, 05 Jan 2021 22:25:47 +0100
parents
children ec5461750efd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
932
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .\"
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 .\" Copyright (c) 2013-2020 David Demelier <markand@malikania.fr>
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .\"
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .\" Permission to use, copy, modify, and/or distribute this software for any
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .\" purpose with or without fee is hereby granted, provided that the above
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .\" copyright notice and this permission notice appear in all copies.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .\"
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .\"
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Dd @IRCCD_MAN_DATE@
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Dt IRCCD-API-TIMER 3
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Os
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .\" NAME
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Sh NAME
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Nm Irccd.Timer
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Nd irccd timer API
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 .\" SYNOPSIS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 .Sh SYNOPSIS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 .Vt Irccd.Timer.Single
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .Vt Irccd.Timer.Repeat
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 .Fn Irccd.Timer "type, delay, callback"
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 .Fn Irccd.Timer.prototype.start
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 .Fn Irccd.Timer.prototype.stop
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 .\" DESCRIPTION
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 .Sh DESCRIPTION
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 This API provides periodic timers.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 .Pp
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 Even though they are generated at periodic interval they do run in the same
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 thread and do not require special user mutexes.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 .\" CONSTANTS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 .Sh CONSTANTS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 The following constants properties are defined:
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 .Pp
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 .Bl -tag
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 .It Va Irccd.Timer.Single No (int)
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 The timer is single-shot.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 .It Va Irccd.Timer.Repeat No (int)
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 The timer is looping.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 .El
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 .\" METHODS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 .Sh METHODS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 .\" Irccd.Timer()
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 The
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 .Fn Irccd.Timer
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 constructor function creates a new timer object with the given
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 .Fa delay
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 expressed in milliseconds and the function
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 .Fa callback
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 to be called when the timer expires. The argument
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 .Fa type
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 is either
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 .Vt Irccd.Timer.Single
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 to create a one-shot timer or
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 .Vt Irccd.Timer.Repeat
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 to make a infinite timer.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 .Pp
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 .\" Irccd.Timer.prototype.start
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 The
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 .Fn Irccd.Timer.prototype.start
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 method will effectively start the timer. It does nothing if the timer is
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 already running.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 .Pp
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 .\" Irccd.Timer.prototype.stop
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 The
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 .Fn Irccd.Timer.prototype.stop
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 will stop the timer. It does nothing if the timer is already stopped.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 .\" EXAMPLES
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 .Sh EXAMPLES
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 Create a timer that will repeat every 1 second.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 .Bd -literal
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 var t = new Irccd.Timer(Irccd.Timer.Repeat, 1000, function () {
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 // Do your action, this will be called every 1 second.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 });
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 .Ed
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 .\" EXCEPTIONS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 .Sh EXCEPTIONS
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 .Bl -tag -width Er
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 .It Bq Er Error
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 On other errors.
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 .El
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 .\" SEE ALSO
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 .Sh SEE ALSO
0e11221c9bcc man: split irccd-api into individual ones
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 .Xr irccd-api 3