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

NAME

POE::Component::IKC::Channel - POE Inter-Kernel Communication I/O session

SYNOPSIS

    use POE;
    use POE::Component::IKC::Channel;
    create_ikc_channel($handle, $name, $on_connect, $subscribe);

DESCRIPTION

This module implements an POE IKC I/O. When a new connection is established, IKC::Server and IKC::Client create an IKC::Channel to handle the I/O.

EXPORTED FUNCTIONS

create_ikc_channel($handle, $kernel_name, $on_connect)

This function initiates all the work of connecting to a IKC connection channel.

IKC communication happens in 2 phases : negociation phase and normal phase.

The negociation phase uses Filter::Line and is used to exchange various parameters between kernels (example : kernel names, what type of freeze/thaw to use, etc). After negociation, IKC::Channel switches to a Filter::Reference and creates a IKC::Responder, if needed. After this, the channel forwards reads and writes between Wheel::ReadWrite and the Responder.

IKC::Channel is also in charge of cleaning up kernel names when the foreign kernel disconnects.

$handle

The perl handle we should hand to Wheel::ReadWrite::new.

$kernel_name

The name of the local kernel. This is a stop-gap until event naming has been resolved.

$on_connect

Code ref that is called when the negociation phase has terminated. Normaly, you would use this to start the sessions that post events to foreign kernels.

$subscribe

Array ref of specifiers (either foreign sessions, or foreign states) that you want to subscribe to. $on_connect will only be called if you can subscribe to all those specifiers. If it can't, it will die().

BUGS

AUTHOR

Philip Gwyn, <fil@pied.nu>

SEE ALSO

POE, POE::Component::IKC::Server, POE::Component::IKC::Client, POE::Component::IKC::Responder

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 512:

'=item' outside of any '=over'

Around line 554:

You forgot a '=back' before '=head1'