… | |
… | |
11 | |
11 | |
12 | my $hdl; $hdl = new AnyEvent::Handle |
12 | my $hdl; $hdl = new AnyEvent::Handle |
13 | fh => \*STDIN, |
13 | fh => \*STDIN, |
14 | on_error => sub { |
14 | on_error => sub { |
15 | my ($hdl, $fatal, $msg) = @_; |
15 | my ($hdl, $fatal, $msg) = @_; |
16 | AE::log warn => "got error $msg\n"; |
16 | AE::log error => "got error $msg\n"; |
17 | $hdl->destroy; |
17 | $hdl->destroy; |
18 | $cv->send; |
18 | $cv->send; |
19 | }; |
19 | }; |
20 | |
20 | |
21 | # send some request line |
21 | # send some request line |
22 | $hdl->push_write ("getinfo\015\012"); |
22 | $hdl->push_write ("getinfo\015\012"); |
23 | |
23 | |
24 | # read the response line |
24 | # read the response line |
25 | $hdl->push_read (line => sub { |
25 | $hdl->push_read (line => sub { |
26 | my ($hdl, $line) = @_; |
26 | my ($hdl, $line) = @_; |
27 | AE::log warn => "got line <$line>\n"; |
27 | say "got line <$line>"; |
28 | $cv->send; |
28 | $cv->send; |
29 | }); |
29 | }); |
30 | |
30 | |
31 | $cv->recv; |
31 | $cv->recv; |
32 | |
32 | |
… | |
… | |
1432 | data. |
1432 | data. |
1433 | |
1433 | |
1434 | Example: read 2 bytes. |
1434 | Example: read 2 bytes. |
1435 | |
1435 | |
1436 | $handle->push_read (chunk => 2, sub { |
1436 | $handle->push_read (chunk => 2, sub { |
1437 | AE::log debug => "yay " . unpack "H*", $_[1]; |
1437 | say "yay " . unpack "H*", $_[1]; |
1438 | }); |
1438 | }); |
1439 | |
1439 | |
1440 | =cut |
1440 | =cut |
1441 | |
1441 | |
1442 | register_read_type chunk => sub { |
1442 | register_read_type chunk => sub { |