I'm not suggesting getting rid of IClientAPI...
I mean I *wish* we would get rid of it, but that's not what I'm
proposing here. I'm just proposing replacing the ad-hoc reflective
instantiation of IClientNetworkServer that ClientStackManager is
currently doing with a more in-style Region Module.
On 8/16/2015 6:55 PM, Dahlia Trimble wrote:
I like this idea. I have done some physics via the region module
interface and had pretty good luck. I've also done client protocol
implementations in region modules and I can say that the available
interfaces are incomplete for the purposes of the entire LL protocol
suite. I use EventManager for tracking scene changes and this seems to
work ok for the most part but I don't believe events exist for all
events a normal viewer would care about. There is also the issue of
managing presences, teleports and region border crossings. I've done
some workarounds here but it's not pretty. I suspect a lot of changes
to related framework code would need to be done to be successful. I'm
also not sure if EventManager events are as efficient and CPU friendly
as the direct calls which go thru IClientAPI but I can't say I've seen
anything to suggest (yet) that this could be a problem. There are also
some efficiency hacks in llClientView and related code (lazy packet
initialization for one) which might not easily translate to a region
module.
Regardless, it sounds like a good experiment to try :)
On Sun, Aug 16, 2015 at 6:44 PM, Diva Canto <[email protected]
<mailto:[email protected]>> wrote:
We had this conversation today in the IRC about the several plugin
mechanisms currently being used by assorted parts of OpenSim. A
couple of years ago, we made a big push towards the [new] Region
Modules mechanism, and that placed about 95% of simulator plugins
in that bandwagon. However, a couple of them are still using their
own raw "pluginning," and that makes them hard to (1) explain and
(2) distribute as 3rd party packages. They were left behind.
One of them is Physics, the other is the client implementations. I
would like to propose that we move these last 2 renegades to the
Region Module plugin mechanism, so to reduce entropy and to make
them easier to package. From our conversation, moving the Physics
plugins to region modules is peaceful. I haven't looked at the
client dll yet, but I've been told that people experimenting with
other client protocols are using region modules anyway.
This affects the MOSES group developing the PhysX plugin, but it
should be straightforward to adjust and it has advantages. Once we
move the existing physics plugins to this new mechanism, you
should be able to do exactly the same to yours -- the changes
aren't that big, and it doesn't affect the Physics interface at
all; it's just the way of connecting the physics implementation to
the interface. Plus it will make it somewhat easier for you to
make your physics plugin available for external testers at
intermediate (early) times, if you want.
Any objections?
_______________________________________________
Opensim-dev mailing list
[email protected] <mailto:[email protected]>
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev