On 07 Aug 2008, at 16:04, Jos I. Boumans wrote:

On 06 Aug 2008, at 20:02, Martin Atkins wrote:

Brad Fitzpatrick wrote:
Yeah, that works, or some general accessor on vhost.
Perhaps during configuration parsing, we keep a map from classname to instantiated object, and then clients can say $vhost- >by_class("DJabberd::RosterStorage") and then the vhost iterates over all its instantiated objects looking for something that UNIVERSAL::isa("DJabberd::RosterStorage"), finding first, say, "DJabberd::RosterStorage::SQLite" and caching that in some vhost member hashref to make lookup faster later.

Thanks for the suggestion; I've implemented it in Vhost.pm now as demonstrated by the diff below the sig. I've also added a new test file that checks the full code path, to make sure it works as expected, and doesn't break anything else.

If you like the approach, I'll send it upstream and update the demo app to use
this functionality instead.

Now implemented in my branch at:

  http://code.sixapart.com/trac/djabberd/changeset/809

Demo app update sitting on my local machine until better network arrives.

Cheers,

--

  Jos Boumans               http://www.linkedin.com/in/josboumans

  How do I prove I'm not crazy to people who are?



Reply via email to