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?