Skip to content

uselessd/bus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A simple daemonless system for broadcasting messages locally.
bus is a light-weight alternative to a two-phase flexible barrier.

bus uses a System V semaphore array and System V shared memory.
Buses are named; the key of the semaphore array and the
shared memory is stored in a regular file.

The shared memory used by bus is always 2048 bytes. Additionally
all messages should be encoded in UTF-8 and not contain any NULL
characters, except they MUST always end with a zero byte.
Furthermore messages should be prefixed with the process
identifer of the process whence the message originated, followed
by a space. If the process is ephemeral, 0 should be used instead
of the process identifier.

Communication over bus is synchronous. The broadcast call does
not return until all listeners have received (and copyied)
the message. A malfunctioning program can lock to bus.

The software package contains a C library and a command line
utility. The package python-bus provides a Python 3 module.

About

A simple daemonless system for broadcasting messages locally

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.3%
  • Makefile 8.8%
  • Shell 0.9%