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
Philippe PITTOLI e2142f0c72 pas fini
2016-05-26 21:56:43 +02:00
lib pas fini 2016-05-26 21:56:43 +02:00
init-connection.c core : lib com ++ 2016-05-26 18:27:59 +02:00
Makefile core : lib com ++ 2016-05-26 18:27:59 +02:00
README.markdown core : lib com ++ 2016-05-26 18:27:59 +02:00
service-test.c pas fini 2016-05-26 21:56:43 +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 name

  • : process index in the program point of view

  • : process index in the service point of view

  1. the service creates a pipe, named /tmp/
  2. the program creates pipes named /tmp/$pid--{in,out}
  3. the program prints in the pipe /tmp/ : $pid- version
  4. depending on the configuration and service type, the service will
  • thread, to spare resources
  • fork, not to compromise the security
  1. the service prints in /tmp/$pid--in

pure "networking" view (what should go in the pipes)

  1. the program prints in the pipe /tmp/ : $pid- version
  2. the service prints in /tmp/$pid--in

messages format

QUESTION : no CBOR for 1 & 2, or CBOR everywhere ?

overview

: value

will be a simple byte :

  • <0 - 15> : control, meta data
  • <16 - 127> : later use
  • <128 - 255> : application specific (windowing system, audio system, …)

CBOR table (draft)

index | semantic