Archived
3
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 or pull requests.
Go to file
2016-05-31 23:07:00 +02:00
lib plein de programmes débiles, qui marchent un peu mieux 2016-05-27 17:00:02 +02:00
pubsub Lukc is an idiot. 2016-05-31 23:07:00 +02:00
init-connection.c core : lib com ++ 2016-05-26 18:27:59 +02:00
Makefile pubsub wip 2016-05-28 19:34:23 +02:00
open-read-close-fifo.c plein de programmes débiles, qui marchent un peu mieux 2016-05-27 17:00:02 +02:00
open-write-close-fifo.c plein de programmes débiles, qui marchent un peu mieux 2016-05-27 17:00:02 +02:00
project.zsh pubsub wip 2016-05-28 19:34:23 +02:00
README.markdown core : README 2016-05-26 18:47:28 +02:00
service-test.c plein de programmes débiles, qui marchent un peu mieux 2016-05-27 17:00:02 +02:00

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