|
Posted by c.cobb on May 11, 2007, 12:41 pm
Please log in for more thread options
This small set of classes is a starting point for creating a
generic application messaging protocol. The intent is for these
to be used as a foundation when building networked and/or
event-driven applications such as Web services.
(See the POE-Component-GCS distribution for a working demo of this.)
Features of POE::Event::Message include the following.
. Messages of this class have flexible routing capabilities
that work both inside and outside POE-based applications.
. A 'local' message routing mechanism is designed to be
plug-compatible with POE's existing 'postback' mechanism.
This is referred to as a 'routeback' mechanism in this class.
. A 'remote' message routing mechanism can be used by
message based client scripts, or perhaps as a simple
alternative to 'IKC' (Inter Kernel Communication).
. Messages are delivered based on the type of the destination.
A 'local' routing will trigger a POE 'post' or 'call' event,
while a 'remote' routing invokes a socket connection to a
particular host and port.
. In addition, this class has the ability to introduce
multiple 'forward' and/or 'reverse' routing to multiple
event and/or remote host destinations. This allows for
temporary interruption of normal message flow, without
any of the original participants (events or whatever)
knowing or caring.
. Messages can also be sent through a file handle, such as
from a non-POE child to a POE-based parent process.
. Messages can contain almost anything including binary data
and complex Perl data structures.
|