On Wed, Aug 04, 2004 at 06:34:32 +0100, Bob Ham wrote: > The properties that I had been working on have become gobjects and what > was to be a new networking system is a seperate, gobject-based library > to provide a high-level networking api (eg, session_scan(), > session_join(), etc) > > The TLA OSC has been banded about quite a bit, and this is not out of > the question; it would be in a set of usable lower-level protocols (or > perhaps the set :)
OSC is pretty neat, however it has a few features that make it not ideal for LASH: * theres no return codes or anything - if you want a reply you have to receive an explict, seperate reply packet. * most clients only use the UDP transport, so theres no guantee that the server got your messge. This is not really a big deal - in reality UDP is quite relaible, and you could require the TCP transport, and still be in the letter of the spec. Despite this, I think OSC might be a good choice. The obvious alternatives (CORBA, SOAP, XML-RPC, etc.) are all really heavyweight. An alternative might be D-BUS, but its paint is a little wet, and its not network transparent. Incase you dont know, a typical OSC message might look like (but in binary form): /lash/do/something is 1 "my session" [method path] [types] [arguments] The types can be things like string, integer, float, double, binary blob, timestamp etc. They are integer+string in the example. - Steve
