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.5 by root, Wed May 21 14:37:55 2008 UTC vs.
Revision 1.10 by root, Fri Aug 26 03:34:02 2011 UTC

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