AnyEvent-JSONRPC-Lite
view release on metacpan or search on metacpan
t/disconnect.t view on Meta::CPAN
24252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
on_error
=>
sub
{
warn
'Server got: '
,
$_
[2];
$state
=
'disconnected'
;
},
on_eof
=>
sub
{
$state
=
'disconnected'
;
},
on_read
=>
sub
{ },
);
},
sub
{
my
$t
;
$t
= AnyEvent->timer(
after
=> 1,
cb
=>
sub
{
$ready
->
send
;
undef
$t
;
},
);
};
$ready
->
recv
;
{
my
$client
= jsonrpc_client
'127.0.0.1'
,
$port
;
# disconnect soon after leaving this scope
my
$sleep
= AnyEvent->condvar;
my
$t
;
$t
= AnyEvent->timer(
after
=> 1,
cb
=>
sub
{
$sleep
->
send
});
$sleep
->
recv
;
}
my
$cv
= AnyEvent->condvar;
my
(
$client
,
$timer1
,
$timer2
);
my
$t
= AnyEvent->timer(
after
=> 1,
cb
=>
sub
{
is
$state
,
'disconnected'
,
'already disconnected ok'
;
$client
= jsonrpc_client
'127.0.0.1'
,
$port
;
$timer1
= AnyEvent->timer(
after
=> 0.5,
cb
=>
sub
{
is
$state
,
'connected'
,
'connected at this time ok'
;
undef
$client
;
# disconnect here
},
);
$timer2
= AnyEvent->timer(
after
=> 1,
cb
=>
sub
{
is
$state
,
'disconnected'
,
'connection disconnected ok'
;
$cv
->
send
;
},
);
},
);
$cv
->
recv
;
t/disconnect_server.t view on Meta::CPAN
303132333435363738394041424344454647484950
},
);
my
$d
=
$client
->call(
echo
=> {
foo
=>
'bar'
} );
my
$res
=
$d
->
recv
;
is_deeply({
foo
=>
'bar'
},
$res
,
'echo response ok'
);
undef
$server
;
my
$t
;
$t
= AnyEvent->timer(
after
=> 0.5,
cb
=>
sub
{
undef
$t
;
ok
$closed
,
'server closed ok'
;
$cv
->
send
;
},
);
}
$cv
->
recv
;
t/mix_request.t view on Meta::CPAN
1920212223242526272829303132333435363738394041424344my
$waits
= [
undef
, rand_sec(2), rand_sec(2), rand_sec(2), rand_sec(2) ];
my
$exit
= 0;
$server
->reg_cb(
wait
=>
sub
{
my
(
$r
,
$num
,
$wait
) =
@_
;
is(
$waits
->[
$num
],
$wait
,
"Num $num will wait for $wait seconds ok"
);
my
$w
;
$w
= AnyEvent->timer(
after
=>
$wait
,
cb
=>
sub
{
$r
->result(
$wait
);
if
(++
$exit
>= 4) {
my
$w
;
$w
= AnyEvent->timer(
after
=> 0.3,
cb
=>
sub
{
undef
$w
;
$cv
->
send
},
);
}
else
{
undef
$w
;
}
},
);
},
( run in 0.473 second using v1.01-cache-2.11-cpan-95122f20152 )