ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork-RPC/t/02_async.t
Revision: 1.1
Committed: Thu Apr 18 11:02:47 2013 UTC (13 years, 5 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-1_1, rel-0_1, rel-0_2
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 $| = 1;
2     print "1..10\n";
3    
4     use AnyEvent;
5     use AnyEvent::Fork::RPC;
6    
7     print "ok 1\n";
8    
9     my $done = AE::cv;
10    
11     my $rpc = AnyEvent::Fork
12     ->new
13     ->require ("AnyEvent::Fork::RPC::Async")
14     ->eval (do { local $/; <DATA> })
15     ->AnyEvent::Fork::RPC::run ("run",
16     async => 1,
17     on_error => sub { print "Bail out! $_[0]\n"; exit 1 },
18     on_event => sub { print "$_[0]\n" },
19     on_destroy => $done,
20     );
21    
22     print "ok 2\n";
23    
24     $rpc->(3, sub { print $_[0] });
25    
26     print "ok 3\n";
27    
28     undef $rpc;
29    
30     print "ok 4\n";
31    
32     $done->recv;
33    
34     print "ok 10\n";
35    
36     __DATA__
37    
38     use AnyEvent;
39    
40     sub run {
41     my ($done, $count) = @_;
42    
43     my $n;
44    
45     AnyEvent::Fork::RPC::event "ok 5";
46    
47     my $w; $w = AE::timer 0.1, 0.1, sub {
48     ++$n;
49    
50     AnyEvent::Fork::RPC::event "ok " . ($n + 5);
51    
52     if ($n == $count) {
53     undef $w;
54     $done->("ok " . ($n + 6) . "\n");
55     }
56     };
57     }