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.
Karchnu 045b1433f5 | ||
---|---|---|
examples | ||
man | ||
src | ||
tests | ||
.gitignore | ||
Makefile | ||
README.md | ||
project.zsh |
README.md
libipc
libipc - Simple, easy-to-use IPC library
See the introductory man page.
Compilation
make
logging system
Logs are in one of the following directories: $XDG_DATA_HOME/ipc/
or $HOME/.local/share/ipc/
.
The log file can be indicated with the IPC_LOGFILE
environment variable, too.
To remove logs: make LDFLAGS=-DIPC_WITHOUT_ERRORS
Planning for 0.7
libipc
should have callbacks to use along with switching capabilities, making easier to implement proxies with communication protocols
Planning for 0.8
libipc
should be thread-safe
Planning for 0.8
libipc
should uselibevent
for performance improvments
Planning for 1.0
libipc
should have usable bindings in several languages
Implementation design
Memory management
- Prefer stack over mallocs.
- Basic functions (such as usock_) should not handle memory allocation.