44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
# 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
|