On Wednesday 04 August 2004 02:05 pm, Steve Harris wrote:
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.
What do you think about shoehorning audio streams into OSC?
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