42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# connection init (draft)
|
|
|
|
## how things happen
|
|
|
|
* Service: daemon providing a feature (windowing, audio, pubsub, …)
|
|
* Application: specific application (browser, instant messaging, …)
|
|
|
|
* service: service name
|
|
* index: process index (to launch a service several times)
|
|
* version: service version
|
|
|
|
1. Service creates a unix socket /tmp/service-index-version.sock
|
|
2. Application connects to /tmp/service-index-version.sock
|
|
|
|
## pure "networking" view (what should go in the sockets)
|
|
|
|
1. Application connects to /tmp/service-index-version.sock
|
|
1. Service acknowledges (empty message)
|
|
|
|
# messages format
|
|
|
|
In order to communicate between the application and the service, we use the Type-Length-Value format.
|
|
This will be used with some conventions.
|
|
|
|
## programming, debug
|
|
|
|
## overview
|
|
|
|
The format will be "type : value".
|
|
|
|
The type will be a simple byte :
|
|
|
|
* <0 - 15> : control, meta data
|
|
* <16 - 127> : later use
|
|
* <128 - 255> : application specific (windowing system, audio system, …)
|
|
|
|
index | abbreviation | semantic
|
|
0 | close | to close the communication between the application and the service
|
|
1 | message | to send data
|
|
2 | error | to send an error message
|
|
3 | ack | to send an acknowledgment
|