AnyEvent-Ident
view release on metacpan or search on metacpan
lib/AnyEvent/Ident.pm view on Meta::CPAN
package AnyEvent::Ident;
use strict;
use warnings;
use Exporter ();
our @ISA = qw( Exporter );
our @EXPORT_OK = qw( ident_server ident_client );
# ABSTRACT: Simple asynchronous ident client and server
our $VERSION = '0.08'; # VERSION
# keep the server object in scope so that
# we don't unbind from the port. If you
# don't want this, then use the OO interface
# for ::Server instead.
my $keep = [];
sub ident_server ($$$;$)
{
my $hostname = shift;
my $port = shift;
my $cb = shift;
require AnyEvent::Ident::Server;
my $server = AnyEvent::Ident::Server
->new( hostname => $hostname, port => $port, %{ $_[0] || {} } )
->start($cb);
push @$keep, $server;
return $server;
}
sub ident_client ($$$$$)
{
my $hostname = shift;
my $port = shift;
require AnyEvent::Ident::Client;
AnyEvent::Ident::Client
->new( hostname => $hostname, port => $port )
->ident(@_);
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
AnyEvent::Ident - Simple asynchronous ident client and server
=head1 VERSION
version 0.08
=head1 SYNOPSIS
client:
use AnyEvent::Ident qw( ident_client );
ident_client '127.0.0.1', 113, $server_port, $client_port, sub {
my($res) = @_; # isa AnyEvent::Client::Response
if($res->is_success)
{
print "user: ", $res->username, "\n"
print "os: ", $res->os, "\n"
}
else
{
( run in 0.813 second using v1.01-cache-2.11-cpan-2398b32b56e )