[Opensim-dev] RFC: Refactoring Scene.cs so that modules directly invoke services from CommsManager
Teravus Ovares
teravus at gmail.com
Thu Dec 18 21:38:37 UTC 2008
CommsManager was originally for the Inter-region communication. It
wrapped Grid Comms and single instance comms under one roof.
You're planning on expanding that definition to region services?
Best Regards
Teravus
On 12/18/08, Justin Clark-Casey <jjustincc at googlemail.com> wrote:
> Teravus Ovares wrote:
> > You would think that the service wrappers would be something that
> > should go into scenebase, the scene base class as virtual. The idea
> > behind this is, 1. it would be out of Scene.cs. 2. It would be
> > available, if someone intends on deriving another Scene class from
> > SceneBase.
> >
> > Then again. Maybe Scene is too complicated and encapsulates too much
> > specific functionality to make it reasonable to expect someone to
> > derive a separate class from SceneBase.
>
> Yeah. I still am more in favor of switching everything to get services through CommsManager (which may be slightly
> misnamed). On a little further digging, a lot of modules do this already, so we now have this inconsistent situation
> where some stuff is fetch through CommsManager and other things are done via CommsManager wrapping methods on Scene.
>
> It would be nice to be consistent in this.
>
> Also, going directly to CommsManager may make it easier to get services by interface in the future, instead of the
> existing hardcoded fields (in the same manner as interfaces are registered on Scene itself).
>
> >
> > Best Regards
> >
> > Teravus
> >
> > On 12/18/08, Justin Clark-Casey <jjustincc at googlemail.com> wrote:
> >> In Scene.cs there are quite a few wrapper methods that appears to exist primarily to relay calls from modules to other
> >> services. For instance, Scene.AddXmlRPCHandler() just recalls AddXmlRPCHandler() on the BaseHttpServer. Some modules
> >> make use of this method while others use Scene.CommsManager.HttpServer.AddXmlRPCHandler()
> >>
> >> I would like to refactor code such that services available through CommsManager are called directly rather than through
> >> Scene wrappers. Although this goes against the Law of Demeter (http://en.wikipedia.org/wiki/Law_of_Demeter) I think
> >> that the advantage in reducing the large number of disparate methods on the Scene is worth it. The alternative is that
> >> the number of Scene wrapper methods continues to grow indefinitely as new service methods are introduced.
> >>
> >> Comments?
> >>
> >> --
> >> justincc
> >> Justin Clark-Casey
> >> http://justincc.wordpress.com
> >> _______________________________________________
> >> Opensim-dev mailing list
> >> Opensim-dev at lists.berlios.de
> >> https://lists.berlios.de/mailman/listinfo/opensim-dev
> >>
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
> >
>
>
> --
> justincc
> Justin Clark-Casey
> http://justincc.wordpress.com
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
More information about the Opensim-dev
mailing list