AC-DC
view release on metacpan or search on metacpan
lib/AC/ConfigFile/Simple.pm view on Meta::CPAN
debug => \&parse_debug,
allow => \&parse_allow,
_default => \&parse_keyvalue,
);
sub new {
my $class = shift;
my $file = shift;
my $me = bless {
_laststat => $^T,
_lastconf => $^T,
_configfile => $file,
_files => [ ],
@_,
}, $class;
$me->_read();
return $me;
}
lib/AC/DC/IO/Forked.pm view on Meta::CPAN
our @ISA = 'AC::DC::IO';
my $BUFSIZ = 8192;
sub new {
my $class = shift;
my $func = shift;
my $args = shift;
my $me = bless {
func => $func,
args => $args,
@_
}, $class;
debug("new forked");
return $me;
}
lib/AC/DC/IO/TCP.pm view on Meta::CPAN
use strict;
our @ISA = 'AC::DC::IO';
my $BUFSIZ = 8192;
sub new {
my $class = shift;
my $me = bless {
@_
}, $class;
debug("new tcp");
return $me;
}
sub start {
my $me = shift;
lib/AC/DC/IO/TCP/Server.pm view on Meta::CPAN
use strict;
our @ISA = 'AC::DC::IO::TCP';
sub new {
my $class = shift;
my $port = shift; # 0 => system picks
my $nextc = shift;
my $arg = shift;
my $me = bless {
info => "server tcp/$port",
nextclass => $nextc,
nextarg => $arg,
}, $class;
my $fd;
socket($fd, PF_INET, SOCK_STREAM, 0);
setsockopt($fd, SOL_SOCKET, SO_REUSEADDR, 1);
my $i = bind($fd, sockaddr_in($port, INADDR_ANY));
lib/AC/DC/IO/UDP/Server.pm view on Meta::CPAN
our @ISA = 'AC::DC::IO::UDP';
my $BUFSIZ = 65536;
sub new {
my $class = shift;
my $port = shift;
my $nextc = shift;
my $arg = shift;
my $me = bless {
info => "server udp/$port",
nextclass => $nextc,
nextarg => $arg,
}, $class;
my $fd;
socket($fd, PF_INET, SOCK_DGRAM, 0);
setsockopt($fd, SOL_SOCKET, SO_REUSEADDR, 1);
my $i = bind($fd, sockaddr_in($port, INADDR_ANY));
lib/AC/DC/Protocol.pm view on Meta::CPAN
my %MSGTYPE;
my %MSGREV;
# status => { num => 0, reqc => '', resc => 'ACPStdReply' },
sub header_size { return 28 }
sub new {
my $class = shift;
return bless { @_ }, $class;
}
sub add_msg {
my $class = shift;
my $name = shift;
my $num = shift;
my $reqc = shift;
my $resc = shift;
my $d = {
lib/AC/DC/Sched.pm view on Meta::CPAN
use Carp 'carp';
use strict;
our @ISA = qw(AC::DC::IO);
sub new {
my $class = shift;
my $p = { @_ };
# { info, time, freq, phi, func, args }
my $me = bless {
sched => $p,
}, $class;
$p->{info} ||= 'scheduled function';
$p->{phi} = rand($p->{freq}) if $p->{freq} && !defined($p->{phi});
$p->{time} ||= $p->{freq} + $p->{phi} + $^T if $p->{freq} && !$p->{time};
carp "cannot schedule, no time, no freq.\n" unless $p->{time};
$me->{info} = $p->{info};
( run in 2.183 seconds using v1.01-cache-2.11-cpan-4505f990765 )