Alvis-Saa
view release on metacpan or search on metacpan
lib/Alvis/Saa.pm view on Meta::CPAN
package Alvis::Saa;
$Alvis::Saa::VERSION = '0.2';
use strict;
use Alvis::Tana;
# use Data::Dumper;
use Sys::Hostname;
use IO::Socket;
use IO::Select;
use Fcntl;
my $LOCALADDR_PREFIX = "/var/tmp/searchrpc_localsoc_";
my $debug = 0;
######################################################################
#
# Public methods
#
###################################################################
sub new
{
my ($this) = @_;
my $class = ref($this) || $this;
my $my_addr = gethostbyname(hostname());
if(!defined($my_addr))
{
return undef;
}
$this = {
'servs' => {},
'serv_sel' => IO::Select->new(),
'conns' => {},
'conn_sel' => IO::Select->new(),
'ip_clis' => {},
'my_addr' => $my_addr,
'err' => '',
'queue' => [],
};
bless $this, $class;
$SIG{'PIPE'} = 'IGNORE';
return $this;
}
sub err
{
my $this = shift;
return $this->{'err'};
}
# 'auto_arb' => bool # Autoread arb messages?
# 'callback' => [func, params]
sub listen
{
my $this = shift;
my $port = shift;
my %par = @_;
if(exists($this->{'servs'}->{$port}))
( run in 3.142 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )