Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.143.251.133
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : AS_SET.pm
#!/usr/bin/perl

package Net::BGP::ASPath::AS_SET;

use strict;

## Inheritance and Versioning ##

@Net::BGP::ASPath::AS_SET::ISA = qw( Net::BGP::ASPath::AS );
our $VERSION = '0.18';

sub type {
    return 1;
}

sub length {
    my $this = shift;

    # We really shouldn't see empty ones of these, but if we do,
    # we will treat them as zero.  But otherwise, RFC indicates
    # that in path computations, any AS_SET is equal to one hop.

    if (scalar(keys %$this)) {
        return 1;
    } else {
        return 0;
    }
}

sub asstring { as_string(@_) }

sub as_string {
    my $this = shift;
    return '{' . join(',', sort { $a <=> $b } keys %{$this}) . '}';
}

sub asarray {
    my $this = shift;
    return [ sort { $a <=> $b } keys %{$this} ];
}

sub merge {
    my $this = shift;
    foreach my $obj (@_) {
        foreach my $as (@{$obj}) {
            $this->{$as} = 1;
        }
    }
    return $this;
}

sub count {
    my $this = shift;

    return scalar(@{$this});
}

1;

© 2025 GrazzMean