[Opensim-dev] dispatcher interface

Dahlia Trimble dahliatrimble at gmail.com
Fri Dec 19 00:44:01 UTC 2014


I have a similar set of modules I wrote which allow for scene replication,
alternative viewers, remote scene manipulation, and pathfinding. I had also
intended to use them for out-of-process scripting but I've not done any
work there yet. I haven't considered committing them ot core yet as the
protocol is still in flux and I don't want others to build on them and rely
on protocol features that may change or be deleted, at least until I'm
fairly certain that the protocol is somewhat stable. It's mainly UDP based
but uses http for some communication.

I have no objections at all to having competing functionality in core as
long as it won't prevent my modules from working. I don't really see this
happening though. Perhaps if your design is better I might migrate to it.
However I also have non-OpenSimulator code which communicates with it and I
don't see myself having time to change those for some time, if ever. I've
also added some new events and other hooks in core to support some of the
additional region module functionality I use but there are likely nothing
in core that use them and I sometimes worry that they may be altered or
removed. If they do get removed I could re-commit them of just maintain
some patches to core to enable them for myself but then nobody else could
use them.

So far these modules are only used on my installations so if something
changes in core that affects them I can usually deal with it. If I were to
distribute them I would probably take some steps to ensure that the
interfaces and APIs they use in core stay fairly stable so I could have
some confidence they would stay functional as OpenSimulator evolves. I
might also consider committing them to core if I do freeze the protocols
and others decide to use them but I don't see that happening for the
visible future.

On Thu, Dec 18, 2014 at 4:11 PM, Mic Bowman <cmickeyb at gmail.com> wrote:
>
> i've had several requests for the dispatcher interface to be moved into
> core. dispatcher package consists of two pieces:
>
> dispatcher -- the core modules that implement the message transfer,
> message encoding and some of the basic messages (informational messages and
> messages to create and renew access capabilities).
>
> https://github.com/cmickeyb/scisim-addons/tree/master/dispatcher
>
> remote control -- a collection of messages that implement a OpenSim remote
> scripting API. these messages include some basics for accessing/creating
> assets, for getting/setting avatar appearance, sending messages, managing
> objects in the scene, and managing some of the region characteristics.
> there are also messages for registering remote handlers for touch events.
> clearly this is just a start (though there is a surprisingly large number
> of things you can do with these).
>
> https://github.com/cmickeyb/scisim-addons/tree/master/rcontrol
>
> for more information on what the dispatcher is and why you might want to
> use it, watch the OSCC presentation
> http://www.ustream.tv/recorded/55195110 or take a look at the kinds of
> scripts that you can write by looking in the scripts directory of the
> rcontrol repository.
>
> with all that said...
>
> i would like to start the discussion about whether this is useful enough
> to be moved into core & how that should happen.
>
> i don't have a particular stake in whether its moved to core. there are
> benefits to both. its easier for me to change for my purposes if if its
> outside core and its (much) easier for the community to use it if its in
> core. if the community believes there is sufficient value, then we should
> move it in.
>
> if it is not moved inside, i would appreciate suggestions on how to
> distribute the libraries. this is an ongoing problem for opensim... how to
> provide simple access to a dynamic set of region modules. probably a bigger
> discussion.
>
> if we think the dispatcher API should be moved into core, then there are a
> few questions about how that should happen. clearly the region modules can
> be moved into OpenSim/Region/OptionalModules. that's easy. the more
> interesting question is where to put the client libraries (these are the
> perl & python libraries that are used to build dispatcher clients) and the
> control scripts that are rather useful for managing a region. I would
> propose placing them in a directory under OpenSim/Tools though they really
> aren't tools in the sense of the other packages in that directory.
>
> the final question is about documentation. the api is already pseudo-self
> documenting... the API lets you can ask any simulator for the messages it
> supports & then ask for examples of the messages themselves. i'm planning
> to add a "documentation" string for each as well. some other methods for
> autodoc would be useful though pulling out dispatcher documentation from
> within the multitude of existing opensim autodoc might be challenging (not
> something i have any experience with).
>
> --mic
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20141218/6b610a98/attachment-0001.html>


More information about the Opensim-dev mailing list