AnyEvent::MPRPC - Simple TCP-based MPRPC client/server


AnyEvent-MPRPC documentation Contained in the AnyEvent-MPRPC distribution.

Index


Code Index:

NAME

Top

AnyEvent::MPRPC - Simple TCP-based MPRPC client/server

SYNOPSIS

Top

    use AnyEvent::MPRPC;

    my $server = mprpc_server '127.0.0.1', '4423';
    $server->reg_cb(
        echo => sub {
            my ($res_cv, @params) = @_;
            $res_cv->result(@params);
        },
    );

    my $client = mprpc_client '127.0.0.1', '4423';
    my $d = $client->call( echo => 'foo bar' );

    my $res = $d->recv; # => 'foo bar';

DESCRIPTION

Top

This module provide TCP-based MessagePack RPC server/client implementation.

AnyEvent::MPRPC provide you a couple of export functions that are shortcut of AnyEvent::MPRPC::Client and AnyEvent::MPRPC::Server. One is mprpc_client for Client, another is mprpc_server for Server.

FUNCTIONS

Top

mprpc_server $address, $port;

Create AnyEvent::MPRPC::Server object and return it.

This is equivalent to:

    AnyEvent::MPRPC::Server->new(
        address => $address,
        port    => $port,
    );

See AnyEvent::MPRPC::Server for more detail.

mprpc_client $hostname, $port

Create AnyEvent::MPRPC::Client object and return it.

This is equivalent to:

    AnyEvent::MPRPC::Client->new(
        host => $hostname,
        port => $port,
    );

See AnyEvent::MPRPC::Client for more detail.

SEE ALSO

Top

AnyEvent::MPRPC::Client, AnyEvent::MPRPC::Server. AnyEvent::JSONRPC::Lite

http://d.hatena.ne.jp/viver/20090713/p1

AUTHOR

Top

Tokuhiro Matsuno <tokuhirom@cpan.org>

THANKS TO

Top

typester++ wrote AnyEvent::JSONRPC::Lite. This module takes A LOT OF CODE from that module =P

COPYRIGHT AND LICENSE

Top


AnyEvent-MPRPC documentation Contained in the AnyEvent-MPRPC distribution.

package AnyEvent::MPRPC;

use strict;
use warnings;
our $VERSION = '0.09';
use AnyEvent::MPRPC::Server;
use AnyEvent::MPRPC::Client;
use base 'Exporter';
use 5.008;

our @EXPORT = qw/mprpc_client mprpc_server/;

sub mprpc_client($$) { ## no critic
    my ($host, $port) = @_;

    AnyEvent::MPRPC::Client->new(
        host => $host,
        port => $port,
    );
}

sub mprpc_server($$) { ## no critic
    my ($address, $port) = @_;

    AnyEvent::MPRPC::Server->new(
        address => $address,
        port    => $port,
    );
}

1;

__END__