################################################################
package Net::DHCP::Control::Failover;
use base Net::DHCP::Control::Generic;
%EXPORTS = ('failover_statename' => 'Net::DHCP::Control::Failover::State',
);
sub import {
my $class = shift;
my $caller = caller;
for my $import (@_) {
my $package = $EXPORTS{$import};
unless (defined $package) {
$class->carp(qq{"$import" is not exported by the $class module
can't continue after import errors});
}
*{"$caller\::$import"} = \&{"$package\::$import"};
}
}
################################################################
package Net::DHCP::Control::Failover::State;
use Net::DHCP::Control ':types';
@ISA = 'Net::DHCP::Control::Failover';
$KIND = 'failover-state';
%ATTRS = ('local-state' => TP_UINT,
'name' => TP_STRING,
);
%OPTS = %Net::DHCP::Control::Generic::OPTS;
my @state = ('unavailable', # 0
'partner down', # 1
'normal', # 2
'communications interrupted', # 3
'resolution interrupted', # 4
'potential conflict', # 5
'recover', # 6
'recover done', # 7
'shutdown', # 8
'paused', # 9
'startup', # 10
'recover-wait', # 11
);
my %state = map {$state[$_] => $_} 0 .. $#state;
sub failover_statename {
my $arg = shift;
if ($arg =~ /^\d+$/) {
$state[$arg];
} else {
$state{$arg};
}
}
package Net::DHCP::Control::Failover::Link;
@ISA = 'Net::DHCP::Control::Failover';
$KIND = 'failover-link';
%ATTRS = ();
%OPTS = %Net::DHCP::Control::Generic::OPTS;
package Net::DHCP::Control::Failover::Listener;
@ISA = 'Net::DHCP::Control::Failover';
$KIND = 'failover-listener';
%ATTRS = ();
%OPTS = %Net::DHCP::Control::Generic::OPTS;
1;