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.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Philippe Pittoli 83d5374586
Merge branch 'master' of ssh://192.168.122.132:22/Baguette/libipc-old
10 months ago
cat cat.zig: simplification. 2 years ago
docs Documentation: fig document + makefile. 10 months ago
examples fd-exchange tests in C: fix socket names. 11 months ago
man Man page added. 3 years ago
src Fix socket options. 11 months ago
tests Fixed tests (3 and 4). 2 years ago
zig-impl Next video: show fmt.bufPrint. 10 months ago
.gitignore Ignore presentation files. 10 months ago
Makefile v0.7.2: ipcd indicates if it successfully contacted the service. 3 years ago
README.md Readme: fix typo. 10 months ago
project.zsh v0.7.2: ipcd indicates if it successfully contacted the service. 3 years ago

README.md

OBSOLETED BY

This project was obsoleted by the new Zig implementation. Code is smaller, simpler and safer to use. Packet format and API are a bit simpler, too.

libipc

libipc - Simple, easy-to-use IPC library

See the introductory man page in man/libipc.7.

See the presentation in docs/libipc.md.

Compilation

make

Since 0.7

  • libipc have callbacks to use along with switching capabilities, making easier to implement proxies for different communication protocols

Planning for 0.8

For performance improvements within libipc:

  • libipc will be rewritten in Zig -- DONE!
  • libipc shouldn't use realloc for each event (new client, new message, etc.) but by batch of a few thousand elements
  • libipc should use better internal structures, unrequiring the use of loops (over the whole list of messages or connections) for each action

Planning for 0.9

  • libipc should use epoll/kqueue for performance improvements
    • new functions will be added to the API
    • but we'll keep the same API for applications with no need for threading (way simpler implementation)
  • libipc should be thread-safe

Planning for 1.0

  • libipc should have usable bindings in several languages