Net::SNMP::HostInfo::UdpEntry - An entry in the udpTable of a MIB-II host


Net-SNMP-HostInfo documentation Contained in the Net-SNMP-HostInfo distribution.

Index


Code Index:

NAME

Top

Net::SNMP::HostInfo::UdpEntry - An entry in the udpTable of a MIB-II host

SYNOPSIS

Top

    use Net::SNMP::HostInfo;

    $host = shift || 'localhost';
    $hostinfo = Net::SNMP::HostInfo->new(Hostname => $host);

    print "\nUdp Listeners Table:\n";
    printf "%-15s %-5s\n",
        qw/LocalAddress Port/;
    for $entry ($hostinfo->udpTable) {
        printf "%-15s %-5s\n",
            $entry->udpLocalAddress,
            $entry->udpLocalPort;
    }

DESCRIPTION

Top

"Information about a particular current UDP listener."

METHODS

Top

udpLocalAddress

"The local IP address for this UDP listener. In the case of a UDP listener which is willing to accept datagrams for any IP interface associated with the node, the value 0.0.0.0 is used."

udpLocalPort

"The local port number for this UDP listener."

AUTHOR

Top

James Macfarlane, <jmacfarla@cpan.org>

SEE ALSO

Top

Net::SNMP::HostInfo


Net-SNMP-HostInfo documentation Contained in the Net-SNMP-HostInfo distribution.
package Net::SNMP::HostInfo::UdpEntry;

use 5.006;
use strict;
use warnings;

use Carp;

#our $VERSION = '0.01';

our $AUTOLOAD;

my %oids = (
    udpLocalAddress => '1.3.6.1.2.1.7.5.1.1', 
    udpLocalPort => '1.3.6.1.2.1.7.5.1.2', 
    );

# Preloaded methods go here.

sub new
{
    my $class = shift;

    my %args = @_;

    my $self = {};

    $self->{_session} = $args{Session};
    $self->{_decode} = $args{Decode};
    $self->{_index} = $args{Index};
    
    bless $self, $class;
    return $self;
}

sub AUTOLOAD
{
    my $self = shift;

    return if $AUTOLOAD =~ /DESTROY$/;

    my ($name) = $AUTOLOAD =~ /::([^:]+)$/;
    #print "Called $name\n";

    if (!exists $oids{$name}) {
        croak "Can't locate object method '$name'";
    }

    my $oid = $oids{$name} . '.' . $self->{_index};

    #print "Trying $oid\n";

    my $response = $self->{_session}->get_request($oid);

    if ($response) {
        return $response->{$oid};
    } else {
        return undef;
    }
}

1;

__END__