From 400b1c8f6f5084033a10317d4437ca62d6cbe79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Wed, 31 Mar 2010 08:51:41 +0000 Subject: features sheet svn path=/trunk/externals/iem/iemnet/; revision=13320 --- FEATURES.txt | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.txt | 15 ++++++++------- 2 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 FEATURES.txt diff --git a/FEATURES.txt b/FEATURES.txt new file mode 100644 index 0000000..5203936 --- /dev/null +++ b/FEATURES.txt @@ -0,0 +1,54 @@ +iemnet - networking for Pd +========================== + +A general: +iemnet objects provide a low-level interface (OSI-5 transport layer) to +networking from within Pd. +iemnet tries to do only one thing (transmitting data over the internet), but it +tries to do it good. + + +A1 data +data passed over the network has to be given as "list of bytes". +in Pd-speak these are "list"s, containing only floating point numbers whoses +values must be integer and in the range 0..255. +you have to take care of that yourself. if you don't (e.g. trying to send +symbols, fractional numbers, out of range numbers), you are to blame. +in order to send more complex data, you have to wrap them into an application +layer protocol, such as Open Sound Control (OSC). +you can find objects to convert OSC messages to/from messages understood by +iemnet objects in Martin Peaches great "osc" library. + + +A2 threading +iemnet makes heavy use of threading. +this means that sending data (to the internet), receiving data (from the +internet) and processing datat (within Pd) can run in parallel. +this means that you won't get audio dropouts if the network is slow because your +your neighbour is downloading videos. +if you have a multi-core (SMP) system, threads can utitlize this. +if you don't have a multi-core (SMP) system, you still benefit from the +threading approach. + + +B TCP/IP objects + +B1 [tcpserver] +listens on a port for incoming messages + +if the port is already occupied, you are provided feedback so you can react + +the port can be changed at runtime + +you can let the system chose an available port for you (and you can query it) + +passing only a list (without the "send ", "client " or +"broadcast" prefix) specifies only the payload (data). +the target can be set with the "target" message ("target 0" means "broadcast", +"target " will send to "client " if id>0 and to all but "client " if +id<0 + + + + + diff --git a/README.txt b/README.txt index 4c18979..191818a 100644 --- a/README.txt +++ b/README.txt @@ -2,7 +2,9 @@ iemnet - networking for Pd ========================== this is a fork of martin peach's "net" library, that allows low-level -interaction with networks on OSI-layer 5 (transport layer) +interaction with networks on OSI-layer 5 (transport layer). + +for a list of features, see FEATURES.txt Why fork? ========= @@ -52,13 +54,12 @@ connection and still keep Pd reactive. dropouts; this is not necessarily related to the network but rather to the amount of data processed by Pd...) - - - easy to use: -probably not - - +probably not; but at least it has the same (basic) API as mrpeach/net so a +switch should be easy. "basic" means "not everything", so messages for special +workarounds in mrpeach/net (e.g. the block/unblock stuff) are not supported, as +well as debugging features ("dump") and features not related to networking (e.g. +the ability to read a file from harddisk) Authors: -- cgit v1.2.1