# connection init (draft) ## what the programs should do and how they interact * service : application providing a feature to others (windows, audio, …) * program : specific application (browser, instant messaging, …) * [service] : service name * [index] : process index in the program point of view * [pindex] : process index in the service point of view 1. the service creates a pipe, named /tmp/[service] 2. the program creates pipes named /tmp/$pid-[index]-{in,out} 3. the program prints in the pipe /tmp/[service] : $pid-[index] version 4. depending on the configuration and service type, the service will * thread, to spare resources * fork, not to compromise the security 5. the service prints [pindex] in /tmp/$pid-[index]-in ## pure "networking" view (what should go in the pipes) 1. the program prints in the pipe /tmp/[service] : $pid-[index] version 2. the service prints [pindex] in /tmp/$pid-[index]-in # messages format QUESTION : no CBOR for 1 & 2, or CBOR everywhere ? ## overview format "type : value" type will be a simple byte : * <0 - 15> : control, meta data * <16 - 127> : later use * <128 - 255> : application specific (windowing system, audio system, …) ## CBOR table (TODO) index | semantic