ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.pm
(Generate patch)

Comparing EV/EV.pm (file contents):
Revision 1.98 by root, Sat May 31 23:17:50 2008 UTC vs.
Revision 1.102 by root, Mon Sep 8 17:27:42 2008 UTC

71 71
72=cut 72=cut
73 73
74package EV; 74package EV;
75 75
76no warnings;
76use strict; 77use strict;
77 78
78BEGIN { 79BEGIN {
79 our $VERSION = '3.42'; 80 our $VERSION = '3.44';
80 use XSLoader; 81 use XSLoader;
81 XSLoader::load "EV", $VERSION; 82 XSLoader::load "EV", $VERSION;
82} 83}
83 84
84@EV::IO::ISA = 85@EV::IO::ISA =
111default loop as this is fastest (perl-wise), best supported by other 112default loop as this is fastest (perl-wise), best supported by other
112modules (e.g. AnyEvent or Coro) and most portable event loop. 113modules (e.g. AnyEvent or Coro) and most portable event loop.
113 114
114For specific programs you can create additional event loops dynamically. 115For specific programs you can create additional event loops dynamically.
115 116
117If you want to take avdantage of kqueue (which often works properly for
118sockets only) even though the default loop doesn't enable it, you can
119I<embed> a kqueue loop into the default loop: running the default loop
120will then also service the kqueue loop to some extent. See the example in
121the section about embed watchers for an example on how to achieve that.
122
116=over 4 123=over 4
117 124
118=item $loop = new EV::loop [$flags] 125=item $loop = new EV::loop [$flags]
119 126
120Create a new event loop as per the specified flags. Please refer to the 127Create a new event loop as per the specified flags. Please refer to the
136documentation). 143documentation).
137 144
138=item $loop->loop_verify 145=item $loop->loop_verify
139 146
140Calls C<ev_verify> to make internal consistency checks (for debugging 147Calls C<ev_verify> to make internal consistency checks (for debugging
141libev) and abort the program if any data structures wree found to be 148libev) and abort the program if any data structures were found to be
142corrupted. 149corrupted.
143 150
144=item $loop = EV::default_loop [$flags] 151=item $loop = EV::default_loop [$flags]
145 152
146Return the default loop (which is a singleton object). Since this module 153Return the default loop (which is a singleton object). Since this module
147already creates the default loop with default flags, specifying flags here 154already creates the default loop with default flags, specifying flags here
148will not have any effect unless you destroy the default loop. 155will not have any effect unless you destroy the default loop first, which
156isn't supported. So in short: don't do it, and if you break it, you get to
157keep the pieces.
149 158
150=back 159=back
151 160
152 161
153=head1 BASIC INTERFACE 162=head1 BASIC INTERFACE
967 # use the default loop otherwise 976 # use the default loop otherwise
968 $socket_loop ||= EV::default_loop; 977 $socket_loop ||= EV::default_loop;
969 978
970=over 4 979=over 4
971 980
972=item $w = EV::embed $otherloop, $callback 981=item $w = EV::embed $otherloop[, $callback]
973 982
974=item $w = EV::embed_ns $otherloop, $callback 983=item $w = EV::embed_ns $otherloop[, $callback]
975 984
976=item $w = $loop->embed ($otherloop, $callback) 985=item $w = $loop->embed ($otherloop[, $callback])
977 986
978=item $w = $loop->embed_ns ($otherloop, $callback) 987=item $w = $loop->embed_ns ($otherloop[, $callback])
979 988
980Call the callback when the embedded event loop (C<$otherloop>) has any 989Call the callback when the embedded event loop (C<$otherloop>) has any
981I/O activity. The C<$callback> should alwas be specified as C<undef> in 990I/O activity. The C<$callback> is optional: if it is missing, then the
982this version of EV, which means the embedded event loop will be managed 991embedded event loop will be managed automatically (which is recommended),
983automatically. 992otherwise you have to invoke C<sweep> yourself.
984 993
985The C<embed_ns> variant doesn't start (activate) the newly created watcher. 994The C<embed_ns> variant doesn't start (activate) the newly created watcher.
986 995
987=back 996=back
988 997

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines