98211ddfd31b3dc9d6560fb8d0fa1d8119d703f1
[spider.git] / cmd / show / connect.pl
1 #
2 # show active connections
3 #
4 # Copyright (c) 2001 Dirk Koopman G1TLH
5 #
6 # $Id$
7 #
8
9 my $self = shift;
10 return (1, $self->msg('e5')) if $self->priv < 1;
11 my @out;
12 my $count;
13
14 push @out, "Cnum Call      Address/Port              State  Type   Dir.     Module";
15
16 foreach my $call (sort keys %Msg::conns) {
17         my $r = $Msg::conns{$call};
18         my $c = $call;
19         my $addr;
20         
21         if ($c =~ /^Server\s+(\S+)$/) {
22                 $addr = $1;
23                 $c = "Server";
24         } else {
25                 $addr = "$r->{peerhost}/$r->{peerport}";
26         }
27         my $csort = $r->{csort} || '';
28         my $sort = $r->{sort} || '';
29         push @out,      sprintf(" %3d %-9s %-27.27s %3s %7s %8s %-8s", 
30                                                 $r->{cnum}, $c, 
31                                                 $addr, $r->{state}, 
32                                                 $csort, $sort, ref $r);
33
34         $count++;
35 }
36 push @out, "$count Connections ($Msg::noconns Allocated)";
37 return (1, @out);