Archived
3
0
This repository has been archived on 2024-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
libipc-old/README.markdown
Philippe PITTOLI 091d01ef58 readme
2016-12-14 22:29:36 +01:00

1.3 KiB

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
  2. 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