|
From: Jonathan L. <le...@us...> - 2006-12-01 15:31:30
|
Update of /cvsroot/pyxida/Pyxida/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21519/bin Added Files: query.pl Log Message: problem with external interface --- NEW FILE: query.pl --- #!/usr/bin/perl use strict; use Getopt::Std; use Frontier::Client; use Aux; print "rm Aux\n"; # e.g. query.pl http://righthand.eecs.harvard.edu:55501 my $usage = "query.pl [options] url\n"; $usage .= " -l: get local coordinate of node running at url\n"; $usage .= " -r remote-node: get remote overlay node coordinate (not yet supported)\n"; $usage .= " -a nodeA -b nodeB: estimate latency btw overlay nodes A and B\n"; my %para = (); getopts('lr:a:b:', \%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"); if (defined($para{'l'})) { print "local\n"; my $hash = $server->call("pyxida.getLocalCoord"); &Aux::printHash($hash); } elsif (defined($para{'r'})) { my $remoteNode = $para{'r'}; print "remote $remoteNode\n"; } elsif (defined($para{'a'}) && defined($para{'b'})) { my $nodeA = $para{'a'}; my $nodeB = $para{'b'}; print "pair $nodeA $nodeB\n"; } else { die ("Missing arguments\n$usage"); } |