[vos-d] the state of VOS

Peter Amstutz tetron at interreality.org
Mon Oct 9 10:10:06 EDT 2006


On Tue, Oct 03, 2006 at 11:00:22AM -0400, Reed Hedges wrote:
> 
> Can you give a prediction for how much the API will change for
> applications?   If the changes don't affect application design *too*
> much, then we can continue working on applications while you work on
> libvos.

Generally speaking, I expect that while the API specifics will change, 
the overall design will not.  So I hope that bringing VOS libraries and 
applications over to the new runtime will be more a matter of porting, 
not rewriting (as was the case for s3 -> s4).

> Specifically,
> 
>  * If Vobjects will only be accessed via Vobject handles, will we still
>    have the C++ Vobject method API (even with some changes, and some class
>    reorganization) 

This will be acomplished via wrapper classes which hold the vobject 
handle and implement the marshaling code to send the call through the 
VOS runtime.  From a user perspective it should be very similar to the 
current API, there will just be a little bit more going on in the 
background.

>  * Will the Listener API be the same (or almost the same?)

This is going to change a bit.  Listeners will be implemented with pure 
message passing, meaning that even within the local site, a listener 
callback will be a message sent through the VOS runtime.  The handling 
code needs to set up a vobject that acts as an event sink for these 
messages.  This is actually a lot better than s4, because it makes it 
much easier to synchronize processing listener callbacks with other 
event loops.

>  * Will things like VOSApp, plugins, CODs, etc. be changing?

VOSApp will be ported over, and probably not change much.  Ditto for 
plugins.  COD is probably going to change a bit.

>  * Will MetaObject (type) classes remain as is -- e.g. the A3DL classes?

Explicitly defined metaobjects are going to mostly go away, in favor of 
direct stub/framework generation from OTDs.  I have a new XML interface 
definition that generates code (currently C++, and will be extended to 
other languages as we add support for them) into which the actual 
implementation can be dropped in.  One of the changes in the s5 
implementation is that there is an explicit link between a vobject type 
and its method handlers.  The idea is that this will make it possible 
for scripting languages to define new types and provide its own 
callbacks into the scripting runtime.

When I get home tonight I will post a sample of the new OTD format that 
I'm currently working on, and explain it a little bit more.

[   Peter Amstutz  ][ tetron at interreality.org ][ peter.amstutz at gdit.com ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.interreality.org/pipermail/vos-d/attachments/20061009/7b2a79ad/attachment.pgp 


More information about the vos-d mailing list