[djabberd] kane, r795: r6532@coke: josboum | 2008-08-05 16:30...
Mika Raento
mikie at iki.fi
Wed Aug 6 11:21:33 UTC 2008
For Jaiku I'm keeping a hash of my instances by vhost name and adding
a Jaiku->get($vhost) (paraphrased) instead of adding things to the
VHost.
Brad didn't diss it in the code review :-)
Mika
2008/8/6 Jos I. Boumans <jos at dwim.org>:
> On 06 Aug 2008, at 02:22, Artur Bergman wrote:
>
>> In fact, it should only be accessible through closures (Unless you store
>> it somewhere) since we don't want any global state to mess with clustering.
>>
>> Cheers
>> Artur
>>
>> On Aug 5, 2008, at 4:24 PM, Brad Fitzpatrick wrote:
>>
>>> I don't think this is a good change... RosterStorage is not a singleton.
>>> You can run multiple vhosts within a process, all with different
>>> RosterStorage mechanisms.
>>>
>>>
>>> On Tue, Aug 5, 2008 at 7:30 AM, <commits at code.sixapart.com> wrote:
>>> r6532 at coke: josboum | 2008-08-05 16:30:19 +0200
>>> * for several plugins it's not possible to access their object after the
>>> ->register()
>>> phase is over; the object is then only referenced in closures.
>>> This patch adds a method, ->singleton, to retrieve the object for later
>>> use. This is
>>> particularly useful for setting up applications a la
>>> DJabberd::Plugin::MyApp
>
>
> Good point. The goal here is to be able to manipulate the roster from your
> App class.
>
> Would it be acceptable to make the relevant plugin objects available through
> their
> vhost object, along the lines of:
>
> $plugin = $vhost->some_method(....):
>
> This would allow the vhost object to encapsulate all the plugins, and not
> expose them
> through any other way.
>
> The implementation needs a bit of more thought, as the $vhost method call is
> ideally
> as dumb as possible, but the MyApp class shouldn't need to knwo much about
> the internals.
>
> Let me know if this the right way to proceed, and I'll happily add the
> functionality
> in a more sane way.
>
> Cheers,
>
> --
>
> Jos Boumans
> http://www.linkedin.com/in/josboumans
>
> How do I prove I'm not crazy to people who are?
>
>
>
>
More information about the Djabberd
mailing list