NAME

POE::Component::Spread - handle Spread communications in POE

SYNOPSIS

POE::Component::Spread->new( 'spread' );

POE::Session->create(
    inline_states => {
        _start => \&_start,
        chatroom_regular => \&do_something,
    }
);

sub _start {
    $poe_kernel->alias_set('displayer');
    $poe_kernel->post( spread => connect => 'localhost' );
    $poe_kernel->post( spread => subscribe => 'chatroom' );
    $poe_kernel->post( spread => publish => 'chatroom', 'A/S/L?' );
}

sub do_something { 
    my $args = $_[ARG0];
    my ($sender, $message, $type, $groups) = @$args;

    # ...
}

DESCRIPTION

POE::Component::Spread is a POE component for talking to Spread servers.

METHODS

new

POE::Component::Spread->new( 'spread' );

EVENTS

connect

$poe_kernel->post( spread => connect => '4444@localhost' );

Connect this POE session to the Spread server on port 4444 on localhost.

subscribe

$poe_kernel->post( spread => subscribe => 'chatroom' );

Subscribe to a Spread messaging group. Admin messages will be sent to your groupname_admin event and regular messages to groupname_regular.

publish

$poe_kernel->post( spread => publish => 'chatroom', 'A/S/L?' );

Send a simple message to a Spread group.

BUGS

Error handling is non-existent (like most of the API).

CREDITS

Theo Schlossnagle wrote Spread.pm without which this wouldn't work. Michael Stevens provided inspiration with his unreleased PoCo::Spread.

LICENSE

This module is free software, and may be distributed under the same terms as Perl itself.

AUTHOR

Copyright (C) 2004, Rob Partington <perl-pcs@frottage.org>