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

Comparing EV-Loop-Async/Async.pm (file contents):
Revision 1.4 by root, Fri Jul 17 02:52:22 2009 UTC vs.
Revision 1.7 by root, Wed Mar 31 01:05:46 2010 UTC

87use Async::Interrupt (); 87use Async::Interrupt ();
88 88
89use base 'EV::Loop'; 89use base 'EV::Loop';
90 90
91BEGIN { 91BEGIN {
92 our $VERSION = '0.02'; 92 our $VERSION = '0.04';
93 93
94 require XSLoader; 94 require XSLoader;
95 XSLoader::load ("EV::Loop::Async", $VERSION); 95 XSLoader::load ("EV::Loop::Async", $VERSION);
96} 96}
97 97
186 my ($class, $flags, @asy) = @_; 186 my ($class, $flags, @asy) = @_;
187 187
188 my $self = bless $class->SUPER::new ($flags), $class; 188 my $self = bless $class->SUPER::new ($flags), $class;
189 my ($c_func, $c_arg) = _c_func $self; 189 my ($c_func, $c_arg) = _c_func $self;
190 my $asy = new Async::Interrupt @asy, c_cb => [$c_func, $c_arg]; 190 my $asy = new Async::Interrupt @asy, c_cb => [$c_func, $c_arg];
191 $self->_attach ($asy, $asy->signal_func); 191 _attach $self, $asy, $asy->signal_func;
192 192
193 $self 193 $self
194} 194}
195 195
196=item $loop->notify 196=item $loop->notify
256file descriptors. To improve latency and performance, you can ask 256file descriptors. To improve latency and performance, you can ask
257C<EV::Loop::Async> to loop an additional number of times in the foreground 257C<EV::Loop::Async> to loop an additional number of times in the foreground
258after invoking the callbacks, effectively doing the polling in the 258after invoking the callbacks, effectively doing the polling in the
259foreground. 259foreground.
260 260
261The default is C<0>, meaning thatno foreground polling will be done. A 261The default is C<0>, meaning that no foreground polling will be done. A
262value of C<1> means that, after handling the pending events, it will call 262value of C<1> means that, after handling the pending events, it will call
263C<< $loop->loop (EV::LOOP_NONBLOCK) >> and handle the resulting events, if 263C<< $loop->loop (EV::LOOP_NONBLOCK) >> and handle the resulting events, if
264any. A value of C<2> means that this will be iterated twice. 264any. A value of C<2> means that this will be iterated twice.
265 265
266When a foreground event poll does not yield any new events, then no 266When a foreground event poll does not yield any new events, then no
267further iterations will be made, so this is only a I<maximum> value of 267further iterations will be made, so this is only a I<maximum> value of
268additional loop runs. 268additional loop runs.
269 269
270Take also note of the standard EV C<set_io_collect_interval>
271functionality, which can achieve a similar, but different, effect - YMMV.
272
270=back 273=back
271 274
272=head1 SEE ALSO 275=head1 SEE ALSO
273 276
274L<EV>, L<Async::Interrupt>. 277L<EV>, L<Async::Interrupt>.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines