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 250e06190d .dSYM ignorés 2016-12-14 23:26:36 +01:00
core TO FIX - suppression de pid pour le process 2016-12-14 23:17:35 +01:00
drop drop 2016-12-14 23:21:36 +01:00
pingpong pongd ++ 2016-12-14 23:22:27 +01:00
pubsub TO FIX - suppression de pid pour le process 2016-12-14 23:17:35 +01:00
tcp rename + modifications pour que ça compile => tcpd cleaned 2016-12-14 22:56:13 +01:00
.gitignore .dSYM ignorés 2016-12-14 23:26:36 +01:00
Makefile Makefile update. 2016-09-02 21:43:19 +02:00
README.markdown readme 2016-12-14 22:29:36 +01:00
project.zsh Makefile update. 2016-09-02 21:43:19 +02: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