NAME
AnyEvent::JSONRPC::Lite - Simple TCP-based JSONRPC client/server
SYNOPSIS
my
$server
= jsonrpc_server
'127.0.0.1'
,
'4423'
;
$server
->reg_cb(
echo
=>
sub
{
my
(
$res_cv
,
@params
) =
@_
;
$res_cv
->result(
@params
);
},
);
my
$client
= jsonrpc_client
'127.0.0.1'
,
'4423'
;
my
$d
=
$client
->call(
echo
=>
'foo bar'
);
my
$res
=
$d
->
recv
;
# => 'foo bar';
DESCRIPTION
This module provide TCP-based JSONRPC server/client implementation.
AnyEvent::JSONRPC::Lite provide you a couple of export functions that are shortcut of AnyEvent::JSONRPC::Lite::Client and AnyEvent::JSONRPC::Lite::Server. One is jsonrpc_client
for Client, another is jsonrpc_server
for Server.
WHY I NAMED "Lite" TO THIS MODULE
This module implement only JSONRPC 1.0's TCP part, not HTTP protocol, and not full of JSONRPC 2.0 spec. But I think this is enough as simple RPC client/server, so I don't want to implement 2.0 things at this point.
That's why this module name is AnyEvent::JSONRPC::Lite, not AnyEvent::JSONRPC (this should be full-spec)
FUNCTIONS
jsonrpc_server $address, $port;
Create AnyEvent::JSONRPC::Lite::Server object and return it.
This is equivalent to:
AnyEvent::JSONRPC::Lite::Server->new(
address
=>
$address
,
port
=>
$port
,
);
See AnyEvent::JSONRPC::Lite::Server for more detail.
jsonrpc_client $hostname, $port
Create AnyEvent::JSONRPC::Lite::Client object and return it.
This is equivalent to:
AnyEvent::JSONRPC::Lite::Client->new(
host
=>
$hostname
,
port
=>
$port
,
);
See AnyEvent::JSONRPC::Lite::Client for more detail.
SEE ALSO
AnyEvent::JSONRPC::Lite::Client, AnyEvent::JSONRPC::Lite::Server.
AUTHOR
Daisuke Murase <typester@cpan.org>
COPYRIGHT AND LICENSE
Copyright (c) 2009 by KAYAC Inc.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.