ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/handle/02_write.t
(Generate patch)

Comparing AnyEvent/t/handle/02_write.t (file contents):
Revision 1.4 by elmex, Wed May 21 14:27:58 2008 UTC vs.
Revision 1.10 by root, Fri Aug 26 03:34:02 2011 UTC

1#!perl 1#!perl
2
2use strict; 3use strict;
3use AnyEvent::Impl::Perl; 4
5use AnyEvent;
6BEGIN { require AnyEvent::Impl::Perl unless $ENV{PERL_ANYEVENT_MODEL} }
7use AnyEvent::Util;
4use AnyEvent::Handle; 8use AnyEvent::Handle;
5use Socket; 9use Socket;
6 10
7print "1..7\n"; 11print "1..7\n";
8 12
9my $cv = AnyEvent->condvar; 13my $cv = AnyEvent->condvar;
10 14
11socketpair my $rd, my $wr, AF_UNIX, SOCK_STREAM, PF_UNSPEC; 15my ($rd, $wr) = portable_socketpair;
12 16
13my $rd_ae = 17my $rd_ae =
14 AnyEvent::Handle->new ( 18 AnyEvent::Handle->new (
15 fh => $rd, 19 fh => $rd,
16 on_eof => sub { 20 on_eof => sub {
28 } 32 }
29 ); 33 );
30 34
31my $dat = ''; 35my $dat = '';
32 36
33$rd_ae->push_read_chunk (5132, sub { 37$rd_ae->push_read (chunk => 5132, sub {
34 my ($rd_ae, $data) = @_; 38 my ($rd_ae, $data) = @_;
35 $dat = substr $data, 0, 2; 39 $dat = substr $data, 0, 2;
36 $dat .= substr $data, -5; 40 $dat .= substr $data, -5;
37 41
38 print "ok 4 - first read chunk\n"; 42 print "ok 4 - first read chunk\n";
43 my $n = 5;
39 $wr_ae->push_write ("A" x 5000); 44 $wr_ae->push_write ("A" x 5000);
40 $wr_ae->on_drain (sub { 45 $wr_ae->on_drain (sub {
41 my ($wr_ae) = @_; 46 my ($wr_ae) = @_;
42 $wr_ae->on_drain; 47 $wr_ae->on_drain;
43 print "ok 5 - fourth write\n"; 48 print "ok " . $n++ . " - fourth write\n";
44 49
50 });
51
45 $rd_ae->push_read_chunk (1, sub { 52 $rd_ae->push_read (chunk => 5000, sub {
46 print "ok 6 - second read chunk\n"; 53 print "ok " . $n++ . " - second read chunk\n";
47 $cv->broadcast 54 $cv->broadcast
48 });
49 }); 55 });
50}); 56});
51 57
52$wr_ae->push_write ("A" x 5000); 58$wr_ae->push_write ("A" x 5000);
53$wr_ae->push_write ("X" x 130); 59$wr_ae->push_write ("X" x 130);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines