- EXPORTED FUNCTIONS
- SEE ALSO
POE::Component::IKC::Channel - POE Inter-Kernel Communication I/O session
use POE; use POE::Component::IKC::Channel; create_ikc_channel($handle, $name, $on_connect, $subscribe, $rname, $unix);
This module implements an POE IKC I/O. When a new connection is established,
IKC::Client create an
IKC::Channel to handle the I/O.
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.
This function initiates all the work of connecting to a IKC connection channel. It is a wrapper around
Creates a new IKC channel to handle the negociations then the actual data.
Parameters are keyed as follows:
The perl handle we should hand to
The name of the local kernel. This is a stop-gap until event naming has been resolved.
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.
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().
A flag indicating that the handle is a Unix domain socket or not.
Arrayref of aliases for the local kernel.
Arrayref or scalar of the packages that you want to use for data serialization. A serializer package requires 2 functions : freeze (or nfreeze) and thaw. See
This event causes the server to close it's socket and skiddadle on down the road. Normally it is only posted from IKC::Responder.
Philip Gwyn, <perl-ikc at pied.nu>
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 718:
'=item' outside of any '=over'
- Around line 725:
You forgot a '=back' before '=head1'