Object-Remote

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Object-Remote

0.004001 - 2019-11-27
  - fix working with Moo 2.003005 and newer
  - Fix LocalSudo

0.004000 - 2016-08-26
  - Add INET connector
  - Make strictures dep explicit

0.003006 - 2016-01-10
  - Produce an error message comprehensible by Class::Load and Module::Runtime

0.003005 - 2015-07-18
  - Skip non-primary modules in a file to ensure we generate a sane fatpack

0.003004 - 2014-10-04
  - Explicitly load Moo::HandleMoose::_TypeMap since it isn't loaded sans
    ithreads but we don't know if the foreign perl requires it

META.json  view on Meta::CPAN

         "requires" : {
            "Class::C3" : "0",
            "Devel::GlobalDestruction" : "0",
            "Future" : "0.29",
            "JSON::PP" : "0",
            "Log::Contextual" : "0.005",
            "MRO::Compat" : "0",
            "Module::Runtime" : "0",
            "Moo" : "1.006",
            "String::ShellQuote" : "0",
            "strictures" : "2"
         }
      },
      "test" : {
         "requires" : {
            "Test::More" : "0.96"
         }
      }
   },
   "release_status" : "stable",
   "resources" : {

META.yml  view on Meta::CPAN

requires:
  Class::C3: '0'
  Devel::GlobalDestruction: '0'
  Future: '0.29'
  JSON::PP: '0'
  Log::Contextual: '0.005'
  MRO::Compat: '0'
  Module::Runtime: '0'
  Moo: '1.006'
  String::ShellQuote: '0'
  strictures: '2'
resources:
  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Object-Remote
  license: http://dev.perl.org/licenses/
  repository: git://git.shadowcat.co.uk/scpubgit/Object-Remote.git
version: '0.004001'
x_authority: cpan:MSTROUT
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

      requires => {
        'Moo'                       => 1.006,
        'Module::Runtime'           => 0,
        'JSON::PP'                  => 0,
        'Future'                    => 0.29,
        'MRO::Compat'               => 0, # required to fatpack Moo
        'Class::C3'                 => 0, # required to fatpack Moo
        'Devel::GlobalDestruction'  => 0, # required to fatpack Moo
        'String::ShellQuote'        => 0, # required for ssh argument manipulation
        'Log::Contextual'           => 0.005000,
        'strictures'                => 2,
      },
    },
    develop   => {
      requires => {
      },
    },
  },
  resources => {
    repository => {
      url => 'git://git.shadowcat.co.uk/scpubgit/Object-Remote.git',

bin/object-remote-node  view on Meta::CPAN

#!/usr/bin/env perl

use strictures 1;
use Object::Remote::Node;

Object::Remote::Node->run;

bin/object-remote-slave  view on Meta::CPAN

#!/usr/bin/env perl

use strictures 1;
use Object::Remote::Connector::UNIX;
use Object::Remote;

my $c = Object::Remote::Connector::UNIX->new->connect($ARGV[0]);

$c->register_class_class_handler;

$c->remote_object(id => 'master')->register_slave(
  pid => $$,
  argv => \@ARGV

bin/remoterepl  view on Meta::CPAN

#!/usr/bin/env perl

use strictures 1;
use Object::Remote;
use Eval::WithLexicals;
use Term::ReadLine;
use Data::Dumper;

$SIG{INT} = sub { warn "SIGINT\n" };

{ package Data::Dumper; no strict 'vars';
  $Terse = $Indent = $Useqq = $Deparse = $Sortkeys = 1;
  $Quotekeys = 0;

lib/Object/Remote/FatNode.pm  view on Meta::CPAN

package Object::Remote::FatNode;

use strictures 1;
use Config;
use B qw(perlstring);

my @exclude_mods = qw(XSLoader.pm DynaLoader.pm);
#used by t/watchdog_fatnode
our $INHIBIT_RUN_NODE = 0;

sub stripspace {
  my ($text) = @_;
  $text =~ /^(\s+)/ && $text =~ s/^$1//mg;

lib/Object/Remote/GlobProxy.pm  view on Meta::CPAN

use strictures 1;

package Object::Remote::GlobProxy;
require Tie::Handle;
our @ISA = qw( Tie::Handle );

sub TIEHANDLE {
  my ($class, $glob_container) = @_;
  return bless { container => $glob_container }, $class;
}

lib/Object/Remote/Node.pm  view on Meta::CPAN

package Object::Remote::Node;

use strictures 1;
use Object::Remote::Connector::STDIO;
use Object::Remote::Logging qw(:log :dlog);
use Object::Remote::WatchDog;
use Object::Remote;

sub run {
  my ($class, %args) = @_;
  log_trace { "run() has been invoked on remote node" };

  my $c = Object::Remote::Connector::STDIO->new->connect;

lib/Object/Remote/Prompt.pm  view on Meta::CPAN

package Object::Remote::Prompt;

use strictures 1;
use IO::Handle;
use Exporter;

our @EXPORT = qw(prompt prompt_pw);

our ($prompt, $prompt_pw);

sub _local_prompt {
  _local_prompt_core(0, @_);
}

lib/Object/Remote/Proxy.pm  view on Meta::CPAN

package Object::Remote::Proxy;

use strictures 1;
use Carp qw(croak);

sub AUTOLOAD {
  my $self = shift;
  (my $method) = (our $AUTOLOAD =~ /([^:]+)$/);
  my $to_fire = $self->{method};
  if ((caller(0)||'') eq 'start') {
    $to_fire = "start::${to_fire}";
  }

lib/Object/Remote/Tied.pm  view on Meta::CPAN

package Object::Remote::Tied;

use strictures 1;

#a proxied tied object just ties to the
#proxy object that exists on the remote
#side of the actual tied variable - when
#creating the remote tied variable the proxy
#is passed to the constructor

sub TIEHASH {
  return $_[1];
}

t/await.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Test::Fatal;
use FindBin;
use lib "$FindBin::Bin/lib";
$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;
use Object::Remote::Future qw( await_all await_future );
use ORTestClass;

t/basic.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Sys::Hostname qw(hostname);

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;

$ENV{PERL5LIB} = join(
  ':', ($ENV{PERL5LIB} ? $ENV{PERL5LIB} : ()), qw(lib t/lib)
);

t/basic_data.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Sys::Hostname qw(hostname);

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::FromData;

my $connection = Object::Remote->connect('-');

my $remote = My::Data::TestClass->new::on($connection);

t/bridged.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Test::Fatal;
use FindBin;

use lib "$FindBin::Bin/lib";

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;

t/chained.t  view on Meta::CPAN

use strictures 1;
use Test::More;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;
use Object::Remote::FromData;

my $conn1 = Reconnector->new::on('-');
my $conn2 = $conn1->connect;

t/fatnode.t  view on Meta::CPAN

use strict;
use warnings;

use strictures 1;
use Test::More;

plan tests => 1;

require Object::Remote::FatNode;
my $data =  do {
    no warnings 'once';
    $Object::Remote::FatNode::DATA;
};

t/logger.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Sys::Hostname;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::Logging qw(:log router arg_levels);
use Object::Remote::Logging::Logger;
require 't/lib/ORFeedbackLogger.pm';

my $level_names = [qw(test1 test2 test3 test4 test5)];

t/logging.t  view on Meta::CPAN

use strictures 1;
use Test::More;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

BEGIN {
  use Object::Remote::Logging qw( :log :dlog router arg_levels );
  is($Object::Remote::Logging::DID_INIT, 1, 'using logging class initializes it');
}

my $router = router();

t/logrouter.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Sys::Hostname;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::Logging::Router;

my $controller_name = 'Test::Log::Controller';
my $generator = sub { "Generator output" };
my %metadata = (

t/not_found.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Test::Fatal;
use Sys::Hostname qw(hostname);

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::FromData;

my $connection = Object::Remote->connect('-');

t/objects.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Sys::Hostname qw(hostname);
use overload ();

use Object::Remote;

$ENV{PERL5LIB} = join(
  ':', ($ENV{PERL5LIB} ? $ENV{PERL5LIB} : ()), qw(lib t/lib)
);

t/perl_execute.t  view on Meta::CPAN

use strictures 1;
use Test::More;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::Connector::Local;
use Object::Remote::Connector::SSH;

my $defaults = Object::Remote::Connector::Local->new;
my $normal = $defaults->final_perl_command;
my $ssh = Object::Remote::Connector::SSH->new(ssh_to => 'testhost')->final_perl_command;

t/sender.t  view on Meta::CPAN

use strictures 1;
use Test::More;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote::Connector::Local;
use Object::Remote;
use Object::Remote::ModuleSender;

$ENV{PERL5LIB} = join(
  ':', ($ENV{PERL5LIB} ? $ENV{PERL5LIB} : ()), qw(lib)

t/start_core.t  view on Meta::CPAN

use strictures 1;
use Test::More;
use Object::Remote;
use File::Spec;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

{
  package S1S;

  use Moo;

t/tied.t  view on Meta::CPAN

use strictures 1;
use Test::More;

use lib 't/lib';

use Tie::Array;
use Tie::Hash;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;

t/timeout.t  view on Meta::CPAN

use strictures 1;
use Test::More;

$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;

use Object::Remote;
use Object::Remote::Connector::Local;

my $connector = Object::Remote::Connector::Local->new(
  timeout => 0.1,
  perl_command => [ 'perl', '-e', 'sleep 3' ],

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.915 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )