I just wrote this contribution to AWG: http://wiki.secondlife.com/wiki/Tedds_stand-alone_script_engine
It explains how and why on my opinions on the future script engine implementation.
Sunday, October 14, 2007
Communication
Things are a bit quiet right now. But there are things happening behind the scenes.
Some notes on communication between region and script engine.
Region will be the initiator. That is, the one that contacts script server. If an object containing a script moves from one region to another then the next region will contact the script server.
The communication protocol will be a custom binary protocol. As far as I know there are no RPC protocol designed for high volume async function calls. This will allow a continous stream of function calls in both directions. Any reply on commands will be done by attaching an reply ID to the function call package, a reply package refering this ID containing reply data will be sent back.
Scripts will be blocked while waiting for reply, but not while waiting for their command to be sent.
Currently TCP client/server has been created, but the binary protocol is still in design stage.
Some notes on communication between region and script engine.
Region will be the initiator. That is, the one that contacts script server. If an object containing a script moves from one region to another then the next region will contact the script server.
The communication protocol will be a custom binary protocol. As far as I know there are no RPC protocol designed for high volume async function calls. This will allow a continous stream of function calls in both directions. Any reply on commands will be done by attaching an reply ID to the function call package, a reply package refering this ID containing reply data will be sent back.
Scripts will be blocked while waiting for reply, but not while waiting for their command to be sent.
Currently TCP client/server has been created, but the binary protocol is still in design stage.
Monday, October 1, 2007
A peek on new architecture
Subscribe to:
Posts (Atom)
