On Sat, 20 Mar 2010 22:50:38 -0500 (EDT)
Philip Gwyn <phi...@awale.qc.ca> wrote:

> Currently, there is no way in POE to add meta-data to a request.  And
> if we do something ourselves, we loose one of IKC's goals of being
> transparent, making remote sessions look like local.
> 
> I've been pestering Rocco for over 10 years about request meta-data.
> His response is that this is outside of the POE's core goal and that
> there is no clear consensus in the community on how this should be
> done.  I do not wish to reopen that discussion.  For a while
> POE::Stage was going to be the answer.  Now we have Reflex, which
> contains some intersting magic. But Rocco has other things going on,
> so neither are production ready.
> 

I just want to point out that at one point, me and Martijn explored
adding message meta data, specifically in the form of envelopes that
would be passed cleanly between filters in a Filter::Stackable
pipeline. It was a good experiment, but really failed in the department
of backwards compatibility. I know I had to alter Wheel::ReadWrite
specifically to detect and deal with the message envelope. Martijn
decided message envelopes and the handlers should exist outside of POE
and built Data::Transform. And at the time I didn't agree with Rocco's
rejection of my patches, but with a little more hindsight, I can see
Rocco's point, explicitly about the purview of POE and its scope. 

Ultimately, this is a hard problem to solve and Philip is right that
we couldn't reach a clear consensus on The Right Way. That said, I
would welcome trying to solve this particular problem within the scope
of the newer projects such as Reflex. 

I also have some other ideas on dealing with serialization of data
(helpful to any project sending stuff over the wire, like IKC or even
POEx::ProxySession) that could spawn an unrelated project of a
"universal" serializer using KiokuDBs TypeMap in addition with
Data::Visitor. 

This is all stuff we need to be exploring and working toward. Not sure
how many of you are aware of Reflex or what we are trying to achieve,
but feel free to stop by irc://irc.perl.org/#reflex You'll see that
there are more people than just Rocco interested in improving the
state of the art. Ideally, we'd like to make a significant impact at
this year's YAPC, specifically north america, with POE talks including
a full host of subjects encompassing modern POE.

Not to hijack Philip's thread (which sadly, I've just done), but if you
are interested in what POE developers have in mind for the next
generation, please come visit us in IRC and ask questions. Ultimately,
we want to merge the ideas from my module
(POEx::Role::SessionInstantiation) and Chris Prather's module
(MooseX::POE) into Reflex and dramatically improve the developer
experience when working with POE.

</soapbox>

-- 

Nicholas Perez
XMPP/Email: n...@nickandperla.net
http://search.cpan.org/~nperez/
http://github.com/nperez

Reply via email to