1 | #!perl |
1 | #!perl |
|
|
2 | |
2 | use strict; |
3 | use strict; |
|
|
4 | |
3 | use AnyEvent::Impl::Perl; |
5 | use AnyEvent::Impl::Perl; |
4 | use AnyEvent::Handle; |
6 | use AnyEvent::Handle; |
5 | use Socket; |
7 | use Socket; |
6 | |
8 | |
7 | print "1..7\n"; |
9 | print "1..7\n"; |
… | |
… | |
34 | my ($rd_ae, $data) = @_; |
36 | my ($rd_ae, $data) = @_; |
35 | $dat = substr $data, 0, 2; |
37 | $dat = substr $data, 0, 2; |
36 | $dat .= substr $data, -5; |
38 | $dat .= substr $data, -5; |
37 | |
39 | |
38 | print "ok 4 - first read chunk\n"; |
40 | print "ok 4 - first read chunk\n"; |
39 | |
|
|
40 | $wr_ae->push_write ("A" x 5000); |
41 | $wr_ae->push_write ("A" x 5000); |
41 | $wr_ae->on_drain (sub { |
42 | $wr_ae->on_drain (sub { |
42 | my ($wr_ae) = @_; |
43 | my ($wr_ae) = @_; |
43 | $wr_ae->on_drain; |
44 | $wr_ae->on_drain; |
44 | print "ok 5 - fourth write\n" |
45 | print "ok 5 - fourth write\n"; |
45 | }); |
|
|
46 | |
46 | |
47 | $rd_ae->push_read_chunk (1, sub { |
47 | $rd_ae->push_read_chunk (1, sub { |
48 | print "ok 6 - second read chunk\n"; |
48 | print "ok 6 - second read chunk\n"; |
49 | $cv->broadcast |
49 | $cv->broadcast |
|
|
50 | }); |
50 | }); |
51 | }); |
51 | }); |
52 | }); |
52 | |
53 | |
53 | $wr_ae->push_write ("A" x 5000); |
54 | $wr_ae->push_write ("A" x 5000); |
54 | $wr_ae->push_write ("X" x 130); |
55 | $wr_ae->push_write ("X" x 130); |