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

Comparing AnyEvent/lib/AnyEvent/Handle.pm (file contents):
Revision 1.17 by root, Sat May 24 04:17:45 2008 UTC vs.
Revision 1.18 by root, Sat May 24 05:01:16 2008 UTC

285 285
286sub push_write { 286sub push_write {
287 my $self = shift; 287 my $self = shift;
288 288
289 if ($self->{filter_w}) { 289 if ($self->{filter_w}) {
290 $self->{filter_w}->(\$_[0]); 290 $self->{filter_w}->($self, \$_[0]);
291 } else { 291 } else {
292 $self->{wbuf} .= $_[0]; 292 $self->{wbuf} .= $_[0];
293 $self->_drain_wbuf; 293 $self->_drain_wbuf;
294 } 294 }
295} 295}
575 575
576=item $handle->stop_read 576=item $handle->stop_read
577 577
578=item $handle->start_read 578=item $handle->start_read
579 579
580In rare cases you actually do not want to read anything form the 580In rare cases you actually do not want to read anything from the
581socket. In this case you can call C<stop_read>. Neither C<on_read> no 581socket. In this case you can call C<stop_read>. Neither C<on_read> no
582any queued callbacks will be executed then. To start readign again, call 582any queued callbacks will be executed then. To start readign again, call
583C<start_read>. 583C<start_read>.
584 584
585=cut 585=cut
600 my $rbuf = $self->{filter_r} ? \my $buf : \$self->{rbuf}; 600 my $rbuf = $self->{filter_r} ? \my $buf : \$self->{rbuf};
601 my $len = sysread $self->{fh}, $$rbuf, $self->{read_size} || 8192, length $$rbuf; 601 my $len = sysread $self->{fh}, $$rbuf, $self->{read_size} || 8192, length $$rbuf;
602 602
603 if ($len > 0) { 603 if ($len > 0) {
604 $self->{filter_r} 604 $self->{filter_r}
605 ? $self->{filter_r}->($rbuf) 605 ? $self->{filter_r}->($self, $rbuf)
606 : $self->_drain_rbuf; 606 : $self->_drain_rbuf;
607 607
608 } elsif (defined $len) { 608 } elsif (defined $len) {
609 delete $self->{rw}; 609 delete $self->{rw};
610 $self->{eof} = 1; 610 $self->{eof} = 1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines