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.77 by root, Sun Jul 27 07:25:39 2008 UTC vs.
Revision 1.79 by root, Sun Jul 27 08:37:56 2008 UTC

1package AnyEvent::Handle; 1package AnyEvent::Handle;
2 2
3no warnings; 3no warnings;
4use strict; 4use strict qw(subs vars);
5 5
6use AnyEvent (); 6use AnyEvent ();
7use AnyEvent::Util qw(WSAEWOULDBLOCK); 7use AnyEvent::Util qw(WSAEWOULDBLOCK);
8use Scalar::Util (); 8use Scalar::Util ();
9use Carp (); 9use Carp ();
730 ) { 730 ) {
731 return $self->_error (&Errno::ENOSPC, 1); 731 return $self->_error (&Errno::ENOSPC, 1);
732 } 732 }
733 733
734 while () { 734 while () {
735 no strict 'refs';
736
737 my $len = length $self->{rbuf}; 735 my $len = length $self->{rbuf};
738 736
739 if (my $cb = shift @{ $self->{_queue} }) { 737 if (my $cb = shift @{ $self->{_queue} }) {
740 unless ($cb->($self)) { 738 unless ($cb->($self)) {
741 if ($self->{_eof}) { 739 if ($self->{_eof}) {
905 $cb->($_[0], substr $_[0]{rbuf}, 0, $len, ""); 903 $cb->($_[0], substr $_[0]{rbuf}, 0, $len, "");
906 1 904 1
907 } 905 }
908}; 906};
909 907
910# compatibility with older API
911sub push_read_chunk {
912 $_[0]->push_read (chunk => $_[1], $_[2]);
913}
914
915sub unshift_read_chunk {
916 $_[0]->unshift_read (chunk => $_[1], $_[2]);
917}
918
919=item line => [$eol, ]$cb->($handle, $line, $eol) 908=item line => [$eol, ]$cb->($handle, $line, $eol)
920 909
921The callback will be called only once a full line (including the end of 910The callback will be called only once a full line (including the end of
922line marker, C<$eol>) has been read. This line (excluding the end of line 911line marker, C<$eol>) has been read. This line (excluding the end of line
923marker) will be passed to the callback as second argument (C<$line>), and 912marker) will be passed to the callback as second argument (C<$line>), and
958 $cb->($_[0], $1, $2); 947 $cb->($_[0], $1, $2);
959 1 948 1
960 } 949 }
961 } 950 }
962}; 951};
963
964# compatibility with older API
965sub push_read_line {
966 my $self = shift;
967 $self->push_read (line => @_);
968}
969
970sub unshift_read_line {
971 my $self = shift;
972 $self->unshift_read (line => @_);
973}
974 952
975=item regex => $accept[, $reject[, $skip], $cb->($handle, $data) 953=item regex => $accept[, $reject[, $skip], $cb->($handle, $data)
976 954
977Makes a regex match against the regex object C<$accept> and returns 955Makes a regex match against the regex object C<$accept> and returns
978everything up to and including the match. 956everything up to and including the match.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines