ANNOUNCE: POE-Event-Message

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

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.

Site Timeline