ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.pod
(Generate patch)

Comparing libev/ev.pod (file contents):
Revision 1.3 by root, Mon Nov 12 08:03:31 2007 UTC vs.
Revision 1.4 by root, Mon Nov 12 08:11:01 2007 UTC

8 8
9=head1 DESCRIPTION 9=head1 DESCRIPTION
10 10
11Libev is an event loop: you register interest in certain events (such as a 11Libev is an event loop: you register interest in certain events (such as a
12file descriptor being readable or a timeout occuring), and it will manage 12file descriptor being readable or a timeout occuring), and it will manage
13these event sources and provide your program events. 13these event sources and provide your program with events.
14 14
15To do this, it must take more or less complete control over your process 15To do this, it must take more or less complete control over your process
16(or thread) by executing the I<event loop> handler, and will then 16(or thread) by executing the I<event loop> handler, and will then
17communicate events via a callback mechanism. 17communicate events via a callback mechanism.
18 18
293 293
294As long as your watcher is active (has been started but not stopped) you 294As long as your watcher is active (has been started but not stopped) you
295must not touch the values stored in it. Most specifically you must never 295must not touch the values stored in it. Most specifically you must never
296reinitialise it or call its set method. 296reinitialise it or call its set method.
297 297
298You cna check wether an event is active by calling the C<ev_is_active 298You cna check whether an event is active by calling the C<ev_is_active
299(watcher *)> macro. To see wether an event is outstanding (but the 299(watcher *)> macro. To see whether an event is outstanding (but the
300callback for it has not been called yet) you cna use the C<ev_is_pending 300callback for it has not been called yet) you cna use the C<ev_is_pending
301(watcher *)> macro. 301(watcher *)> macro.
302 302
303Each and every callback receives the event loop pointer as first, the 303Each and every callback receives the event loop pointer as first, the
304registered watcher structure as second, and a bitset of received events as 304registered watcher structure as second, and a bitset of received events as
400This section describes each watcher in detail, but will not repeat 400This section describes each watcher in detail, but will not repeat
401information given in the last section. 401information given in the last section.
402 402
403=head2 struct ev_io - is my file descriptor readable or writable 403=head2 struct ev_io - is my file descriptor readable or writable
404 404
405I/O watchers check wether a file descriptor is readable or writable 405I/O watchers check whether a file descriptor is readable or writable
406in each iteration of the event loop (This behaviour is called 406in each iteration of the event loop (This behaviour is called
407level-triggering because you keep receiving events as long as the 407level-triggering because you keep receiving events as long as the
408condition persists. Remember you cna stop the watcher if you don't want to 408condition persists. Remember you cna stop the watcher if you don't want to
409act on the event and neither want to receive future events). 409act on the event and neither want to receive future events).
410 410

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines