mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +02:00
Refactor
This commit is contained in:
parent
01ddf53ee9
commit
56131a2709
2 changed files with 21 additions and 8 deletions
|
@ -27,13 +27,7 @@ sub copyToOpen {
|
|||
|
||||
# Get back the set of paths that are already valid on the remote host.
|
||||
my %present;
|
||||
my $n = readInt($from);
|
||||
while ($n--) {
|
||||
my $len = readInt($from);
|
||||
my $s = readN($len, $from);
|
||||
$present{$s} = 1;
|
||||
readN(8 - $len % 8, $from) if $len % 8; # skip padding
|
||||
}
|
||||
$present{$_} = 1 foreach readStrings($from);
|
||||
|
||||
my @missing = grep { !$present{$_} } @closure;
|
||||
return if !@missing;
|
||||
|
|
|
@ -7,7 +7,8 @@ use IPC::Open2;
|
|||
our @ISA = qw(Exporter);
|
||||
our @EXPORT = qw(
|
||||
sshOpts openSSHConnection closeSSHConnection
|
||||
readN readInt writeInt writeString writeStrings
|
||||
readN readInt readString readStrings
|
||||
writeInt writeString writeStrings
|
||||
connectToRemoteNix
|
||||
);
|
||||
|
||||
|
@ -83,6 +84,24 @@ sub readInt {
|
|||
}
|
||||
|
||||
|
||||
sub readString {
|
||||
my ($from) = @_;
|
||||
my $len = readInt($from);
|
||||
my $s = readN($len, $from);
|
||||
readN(8 - $len % 8, $from) if $len % 8; # skip padding
|
||||
return $s;
|
||||
}
|
||||
|
||||
|
||||
sub readStrings {
|
||||
my ($from) = @_;
|
||||
my $n = readInt($from);
|
||||
my @res;
|
||||
push @res, readString($from) while $n--;
|
||||
return @res;
|
||||
}
|
||||
|
||||
|
||||
sub writeInt {
|
||||
my ($n, $to) = @_;
|
||||
syswrite($to, pack("L<x4", $n)) or die;
|
||||
|
|
Loading…
Reference in a new issue