OLD IMPLEMENTATION. The new one is in Zig and fucking ROCKS: https://git.baguette.netlib.re/Baguette/libipc Inter-Process Communication library based on unix sockets.
 
 
 
 
 
Go to file
Philippe PITTOLI 0419ab4645 début de documentation 2016-12-20 21:46:39 +01:00
core corrections mémoire 2016-12-19 22:49:26 +01:00
core-test ajout de pages de manuel 2016-12-19 23:37:50 +01:00
drop communication.c => proc supprimé, déplacement de fichiers, suppression code mort 2016-12-15 00:28:42 +01:00
man début de documentation 2016-12-20 21:46:39 +01:00
pong communication.c => proc supprimé, déplacement de fichiers, suppression code mort 2016-12-15 00:28:42 +01:00
pubsub beaucoup de modifications à l'arrache 2016-12-17 18:00:04 +01:00
tcp communication.c => proc supprimé, déplacement de fichiers, suppression code mort 2016-12-15 00:28:42 +01:00
.gitignore .dSYM ignorés 2016-12-14 23:26:36 +01:00
README.markdown readme 2016-12-14 22:29:36 +01:00

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