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