parallelise connection setup
[scpubgit/Object-Remote.git] / lib / Object / Remote / Connector / UNIX.pm
index 614609a..926f060 100644 (file)
@@ -5,8 +5,11 @@ use Moo;
 
 with 'Object::Remote::Role::Connector';
 
+has socket_path => (is => 'ro', required => 1);
+
 sub _open2_for {
-  my ($self,$path) = @_;
+  my ($self) = @_;
+  my $path = $self->socket_path;
   my $sock = IO::Socket::UNIX->new($path)
     or die "Couldn't open socket ${path}: $!";
   ($sock, $sock, undef);
@@ -17,7 +20,7 @@ no warnings 'once';
 push @Object::Remote::Connection::Guess, sub { 
   for ($_[0]) {
     if (defined and !ref and /^(?:\.\/|\/)/) {
-      return __PACKAGE__->new->connect($_[0]);
+      return __PACKAGE__->new(socket_path => $_[0]);
     }
   }
   return;