DynGig-RCE
view release on metacpan or search on metacpan
lib/DynGig/RCE/Client.pm view on Meta::CPAN
=head1 NAME
DynGig::RCE::Client - RCE client. Extends DynGig::Multiplex::TCP.
=cut
package DynGig::RCE::Client;
use base DynGig::Multiplex::TCP;
use warnings;
use strict;
use File::Spec;
use Sys::Hostname;
use DynGig::RCE::Query;
=head1 SYNOPSIS
use DynGig::RCE::Client;
my %config =
(
buffer => +
[
{
code => codename,
param => ..
},
...
{
code => ..
param => ..
},
],
## other DynGig::Multiplex::TCP::new() parameter
...
);
my $client = DynGig::RCE::Client->new( "$host:$port" => \%config );
$client->run();
=cut
sub new
{
my ( $class, %config ) = @_;
my %done;
my %client =
(
prog => File::Spec->rel2abs( $0 ),
host => Sys::Hostname::hostname(),
user => scalar getpwuid $<,
);
for my $server ( keys %config )
{
my $config = $config{$server};
my $nozip = delete $config->{nozip};
next if $done{ $config->{buffer} };
my %param = (
client => \%client,
query => $config->{buffer},
);
$param{mnumber} = $config->{mnumber}
if defined $config->{mnumber};
$config->{buffer} = DynGig::RCE::Query->new( %param )->zip( $nozip );
$done{ $config->{buffer} } = 1;
}
bless DynGig::Multiplex::TCP->new( %config ), ref $class || $class;
}
=head1 NOTE
See DynGig::RCE
=cut
1;
__END__
( run in 1.569 second using v1.01-cache-2.11-cpan-39bf76dae61 )