Hi,

PostInitialise is extremely important, because it is called at a 
time when all modules' Initialise has been run. That means, all 
modules have registered their interfaces and 
RequestModuleInterface<>() is safe to use in PostInitialise _only_ 
in a module context. Several existing implementations would be 
rendered inoperative and actually impossible if there were no 
PostInitialise.

Melanie


Justin Clark-Casey wrote:
> Homer Horwitz wrote:
>> Ok, I'll try to summarize a bit:
>> 
>> Sean had the great idea to use a dialect-independent way of naming our
>> methods: I'll use Init and PostInit :-)
>> 
>> Justin wondered whether we need an Init* method at all or if we just
>> could init on first region-add. The benefit of a separate Init +
>> PostInit method is, that you can do things before any region has been
>> added, but after all the (shared) modules have been initialized. I
>> don't know whether that's necessary, but on the other hand, it doesn't
>> hurt to have that possibility. It doesn't cost anything, after all. I
>> could add some abstract base classes with default implementations, so
>> you don't have to add an empty Init-method if you don't need it, but
>> that's more or less syntactic sugar...
> 
> Fair enough - though I think I was messing about more with the need for 
> Init() and Close() at all.  But this was 
> something of a mental experiment - it does make things more readable and 
> reduce the need for conditions if there are 
> such explicit methods.
> 
>> 
>> About the configuration: I don't like the idea of getting the config
>> from the scene much, because (at least currently), configuration is
>> owned by the server, not by one of its regions/scenes. While I
>> understand that some modules won't need a configuration, having to add
>> the Nini reference for a fresh region-module doesn't seem too
>> difficult to me (the currently available ones already have that
>> reference, so no change there). Even if we change that and will have
>> region-specific parts of the configuration, the config as a whole will
>> still be in the responsibility of the server, not the region, in my
>> opinion.
> 
> Also fair enough from my perspective.
> 
>> 
>> We need a possibility to disable modules  (preferably without first
>> loading them) without removing the *.dll; and there were some wishes
>> about the loader, pro and contra Mono.Addins. I think I'll have a look
>> at Mono.Addins (including the IPlugin interface and the
>> disable-by-config); it's the one we use already, and I agree that we
>> should use only one loader, if possible without having to use too many
>> workarounds. If not, ExtensionLoader might win ;-)
> 
> I feel that using ExtensionLoader here is effectively the same decision as 
> using it everywhere, since in the long term I 
> really don't think that we want multiple module systems.
> 
>> 
>> "what happens to avatars that are in a region that you want to restart
>> then? are they kicked out first? should they stay?"
>> As the region goes down, they can't stay. So, either they will be
>> moved away (TP home, maybe?) or they will be kicked out. Kicking them
>> out might be the easier thing (and consistent with the SL behavior,
>> too); TP home might be difficult if it is the home-region that is
>> restarted.
>> 
>> I plan to do the move in an as compatible way as possible; if
>> everything works as intended, the "old" modules will continue to work
>> for a time. The move will happen in several steps
>> - Implementation of the new module system (while keeping the old one 
>> functional)
>> - Marking the old one as deprecated
>> - Moving over all the available core region modules to the new system
>> - Removing the old region module system
>> 
>> Especially the third part will take some time (not because it is hard,
>> I don't think it is, but because we have quite a few modules)...
>> 
>> Thanks for all the contributions :-)
>> 
>> Any last comments?
> 
> Go Homer!
> 
>> 
>> Cheers,
>>   Homer
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev@lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>> 
> 
_______________________________________________
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to