Update of /cvsroot/pyxida/Pyxida/bin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25217/bin
Added Files:
proxy.pl
Log Message:
untested proxy code compiles
--- NEW FILE: proxy.pl ---
#!/usr/bin/perl
use strict;
use Getopt::Std;
use Frontier::Client;
use Data::Dumper;
my $usage = "proxy.pl [options] url\n";
$usage .= " -c remote-node -l lease: create proxy coord for remote node with lease\n";
$usage .= " -d remote-node: destroy proxy coord for remote node\n";
$usage .= " -r remote-node -l lease: renew lease for this proxy coord\n";
$usage .= "\n";
$usage .= "proxy.pl -c www.google.com -l 3600000 http://righthand.eecs.harvard.edu:55501\n";
my %para = ();
getopts('c:d:r:l:', \%para);
############################################################
if ($#ARGV < 0) {
die ("Missing arguments\n$usage");
}
my $url = $ARGV[0];
if ($url !~ /^http:\/\/.*?:\d+$/) {
die ("bad url: $url\n$usage\n");
}
############################################################
my $server = Frontier::Client->new(url=>"$url");
my $lease = 3600000;
if (defined($para{'l'})) {
$lease = $para{'l'};
}
if (defined($para{'c'})) {
my $res = $server->call("pyxida.createProxyCoord",$para{'c'},$lease);
#print Dumper($hash);
#&Aux::printHash($hash);
print "$res\n";
} else {
die ("Missing arguments\n$usage");
}
# TODO put in shared file
sub parse_coord {
my ($coord) = @_;
my $out = '[';
for (my $i = 0; $i <= $#$coord; $i++) {
my $element = sprintf ("%.3f", $coord->[$i]);
# if ($i == $#$coord && $USE_HEIGHT) {
# $out .= 'h';
# }
$out .= $element;
if ($i != $#$coord) {
$out .= ' ';
}
}
$out .= ']';
return $out;
}
|