Light Weight Event System C library
Pull request Compare This branch is 62 commits behind lwes:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The LWES Light Weight Event System is a framework for allowing the
exchange of information from many machines to many machines in a
controlled, platform neutral, language neutral way. The exchange
of information is done in a connectless fashion using multicast
or unicast UDP, and using self describing data so that any
platform or language can translate it to it's local dialect.

This leads to a system with the following features

  * Fire and Forget messaging
  * Decoupling of senders (emitters) from receivers (listeners, journallers)
  * Centerless, no single point of failure
  * Support for many to many communication where nodes can enter
    and leave the system at any time.
  * Computer language and hardware platform independent 

The system consists of two major components

  Emitter - a source of events, this is usually a server or process
            which wants to announce something

  Listener - a sink of events which deserializes and processes events
             on the fly as they are received.

There is also a custom listener which defers deserialization until some
point in the future, and simply captures and writes the events to a log.
This is in the lwes-journaller package, and is called a journaller.

This library is the C implementation of the LWES.  There are also 
wrappers for various scripting languages, and a pure java implementation 
packaged separately.
All are wire format compatible.

For more information on developing with the LWES see

Mac Install Commands

git clone
cd lwes
./bootstrap && ./configure --disable-hardcore && make && make check
sudo make install