NAME

POE::Component::IKC::Specifier - IKC event specifer

SYNOPSIS

use POE;
use POE::Component::IKC::Specifier;
$state=specifier_parse('poe://*/timeserver/connect');
print 'The foreign state is '.specifier_name($state);

DESCRIPTION

This is a helper module that encapsulates POE IKC specifiers. An IKC specifier is a way of designating either a kernel, a session or a state within a IKC cluster.

IKC specifiers have the folloing format :

poe:://kernel/session/state

kernel may a kernel name, a kernel ID, blank (for local kernel), a '*' (all known foreign kernels) or host:port (not currently supported).

session may be any session alias that has been published by the foreign kernel.

state is a state that has been published by a foreign session.

Examples :

poe://Pulse/timeserver/connect

State 'connect' in session 'timeserver' on kernel 'Pulse'.

poe:/timeserver/connect

State 'connect' in session 'timeserver' on the local kernel.

poe://*/timeserver/connect

State 'connect' in session 'timeserver' on any known foreign kernel.

poe://Billy/bob/

Session 'bob' on foreign kernel 'Billy'.

EXPORTED FUNCTIONS

specifier_parse($spec)

Turn a specifier into the internal representation (hash ref). Returns undef() if the specifier wasn't valid.

print Dumper specifer_parse('poe://Pulse/timeserver/time');

would print

$VAR1 = {
    kernel => 'Pulse',
    session => 'timeserver',
    state => 'time',
};

Note : the internal representation might very well change some day.

specifier_name($spec)

Turns a specifier into a string.

BUGS

AUTHOR

Philip Gwyn, <perl-ikc at pied.nu>

SEE ALSO

POE, POE::Component::IKC::Responder