The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::Async::XMPP - asynchronous XMPP client based on Protocol::XMPP and IO::Async::Protocol::Stream.

VERSION

version 0.002

SYNOPSIS

 use IO::Async::Loop;
 use Net::Async::XMPP;
 my $loop = IO::Async::Loop->new;
 my $client = Net::Async::XMPP::Client->new(
        on_message              => sub {
                my ($client, $msg) = @_;
                warn "Message from " . $msg->from . " subject " . $msg->subject . " body " . $msg->body;
                $msg->reply(
                        body => 'Message received: ' . $msg->body
                );
        },
        on_contact_request      => sub {
                my ($client, $contact) = @_;
                warn "Contact request from " . $contact->jid;
        },
        on_presence             => sub {
                my ($client, $contact) = @_;
                warn "Had a presence update from " . $contact->jid;
        },
 ); 
 $loop->add($client);
 $client->login(
        jid     => 'user@example.com',
        password => $ENV{NET_ASYNC_XMPP_PASSWORD},
 );
 $loop->loop_forever;

DESCRIPTION

See the Net::Async::XMPP::Client or Net::Async::XMPP::Server subclasses for more details.

AUTHOR

Tom Molesworth <cpan@entitymodel.com>

LICENSE

Copyright Tom Molesworth 2010-2011. Licensed under the same terms as Perl itself.