X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fwho.pl;h=ecb45d70f8eff3167934e57522cd62c078f4b05d;hb=5275b86607057a0960cdf03b41b8092a3d813e57;hp=6876a32946b443e8ff02a7f6aca6dc7cae6b3b0c;hpb=3f8a869aebaa388825ad893b9422ed86e1d667b6;p=spider.git diff --git a/cmd/who.pl b/cmd/who.pl index 6876a329..ecb45d70 100644 --- a/cmd/who.pl +++ b/cmd/who.pl @@ -11,16 +11,26 @@ my $self = shift; my $dxchan; my @out; -push @out, " Callsign Type Started Name Ave RTT"; +push @out, " Callsign Type Started Name Ave RTT Link"; foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all ) { my $call = $dxchan->call(); - my $t = cldatetime($dxchan->user->lastin); - my $sort = $dxchan->is_ak1a() ? "NODE" : "USER"; + my $t = cldatetime($dxchan->startt); + my $type = $dxchan->is_node ? "NODE" : "USER"; + my $sort = " "; + if ($dxchan->is_node) { + $sort = "DXSP" if $dxchan->is_spider; + $sort = "CLX " if $dxchan->is_clx; + $sort = "DXNT" if $dxchan->is_dxnet; + $sort = "AR-C" if $dxchan->is_arcluster; + $sort = "AK1A" if $dxchan->is_ak1a; + } my $name = $dxchan->user->name || " "; - my $ping = $dxchan->is_ak1a ? sprintf("%6.2f", $dxchan->pingave) : ""; - $ping = "" if $dxchan->call eq $main::mycall; - push @out, sprintf "%10s $sort $t %-18.18s $ping", $call, $name; + my $ping = $dxchan->is_node && $dxchan != $DXProt::me ? sprintf("%5.2f", $dxchan->pingave) : " "; + my $conn = $dxchan->conn; + my $ip = ''; + $ip = $conn->{peerhost} if $conn && $conn->{peerhost}; + push @out, sprintf "%10s $type $sort $t %-10.10s $ping $ip", $call, $name; } return (1, @out)