package RPC::Serialized::Client::STDIO;
{
$RPC::Serialized::Client::STDIO::VERSION = '1.123630';
}
use strict;
use warnings FATAL => 'all';
use base 'RPC::Serialized::Client';
use IO::Handle;
sub new {
my $class = shift;
my $ifh = IO::Handle->new_from_fd( STDIN->fileno, "r" );
my $ofh = IO::Handle->new_from_fd( STDOUT->fileno, "w" );
$ofh->autoflush(1);
return $class->SUPER::new(
@_, {rpc_serialized => {ifh => $ifh, ofh => $ofh}},
);
}
1;
# ABSTRACT: RPC client using Standard I/O
__END__
=pod
=head1 NAME
RPC::Serialized::Client::STDIO - RPC client using Standard I/O
=head1 VERSION
version 1.123630
=head1 SYNOPSIS
use RPC::Serialized::Client::STDIO;
my $c = RPC::Serialized::Client::STDIO->new;
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
=head1 DESCRIPTION
This module allows you to communicate with an L<RPC::Serialized> server over
Standard Input and Standard Output.
You would not normally use this module directly, except perhaps for testing.
It might be more useful as a base class upon which to build another more
useful client.
For further information on how to pass settings into C<RPC::Serialized>, and
make RPC calls against the server, please see the L<RPC::Serialized> manual
page.
=head1 THANKS
This module is a derivative of C<YAML::RPC>, written by C<pod> and Ray Miller,
at the University of Oxford Computing Services. Without their brilliant
creation this system would not exist.
=head1 AUTHOR
Oliver Gorwits <oliver@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by University of Oxford.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut