Obsolete
/
libipc-old
Archived
3
0
Fork 0
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.
This repository has been archived on 2024-06-18. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
Go to file
Philippe PITTOLI 091d01ef58 readme 2016-12-14 22:29:36 +01:00
drop tcpselect qui fait pas de la merde 2016-09-26 14:17:36 +02:00
lib à revoir beaucoup beacoup beacoup 2016-11-04 16:51:17 +01:00
misc pubsub: cbor messages, still /t/i/s cbor message to do 2016-09-17 22:57:32 +02:00
pingpong à revoir beaucoup beacoup beacoup 2016-11-04 16:51:17 +01:00
pubsub pubsubd: reorganize 2016-09-19 17:44:06 +02:00
remote à revoir beaucoup beacoup beacoup 2016-11-04 16:51:17 +01:00
.gitignore first cbor test programs added 2016-09-15 23:08:08 +02:00
Makefile
README.markdown readme 2016-12-14 22:29:36 +01:00
project.zsh

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