RPC::Serialized::Client::UNIX - UNIX domain socket RPC client


RPC-Serialized documentation Contained in the RPC-Serialized distribution.

Index


Code Index:

NAME

Top

RPC::Serialized::Client::UNIX - UNIX domain socket RPC client

VERSION

Top

version 1.110470

SYNOPSIS

Top

 use RPC::Serialized::Client::UNIX;

 my $c = RPC::Serialized::Client::UNIX->new({
     io_socket_unix => {Peer => '/path/to/unix/domain/socket'},
 });

 my $result = $c->remote_sub_name(qw/ some data /);
     # remote_sub_name gets mapped to an invocation on the RPC server
     # it's best to wrap this in an eval{} block

DESCRIPTION

Top

This module allows you to communicate with an RPC::Serialized server over UNIX Domain sockets.

What you need to know is that the options to this module are those you would normally pass to an instance of IO::Socket::UNIX, so check out the manual page for that to see what features are available. As in the SYNOPSIS example above, pass the options in a hash reference mapped to the key io_socket_unix.

For further information on how to pass these settings into RPC::Serialized, and make RPC calls against the server, please see the RPC::Serialized manual page.

THANKS

Top

This module is a derivative of YAML::RPC, written by pod and Ray Miller, at the University of Oxford Computing Services. Without their brilliant creation this system would not exist.

AUTHOR

Top

Oliver Gorwits <oliver@cpan.org>

COPYRIGHT AND LICENSE

Top


RPC-Serialized documentation Contained in the RPC-Serialized distribution.

package RPC::Serialized::Client::UNIX;
BEGIN {
  $RPC::Serialized::Client::UNIX::VERSION = '1.110470';
}

use strict;
use warnings FATAL => 'all';

use base 'RPC::Serialized::Client';

use IO::Socket::UNIX;
use RPC::Serialized::Config;
use RPC::Serialized::Exceptions;

sub new {
    my $class = shift;
    my $params = RPC::Serialized::Config->parse(@_);

    my $socket = IO::Socket::UNIX->new($params->io_socket_unix)
        or throw_system "Failed to create socket: $!";

    return $class->SUPER::new(
        $params, {rpc_serialized => {ifh => $socket, ofh => $socket}},
    );
}

1;

# ABSTRACT: UNIX domain socket RPC client


__END__