M2 is a network message bus designed to support low-latency, service-routed message passing, with push updates and scalable publish / subscribe capabilities. Client support exists for Tcl and Javascript currently, with others planned.
Available at: http://sourceforge.net/projects/m2-bus/files/
Documentation at: http://sourceforge.net/apps/mediawiki/m2-bus/index.php?title=Main_Page
m2 contains an array of interesting supporting libraries:
- cflib - the place where all the general odds and ends land up that don't fit elsewhere.
- dsl - a tiny package to provide a framework for building domain specific languages.
- sop - State Oriented Programming - a set of classes that act like logic gates.
- crypto - a pure Tcl implementation of RSA and blowfish.
- evlog - a framework for collecting high-resolution timestamped log events from a group of communicating processes.
- logging - a lightweight logging framework.
- netdgram - presents an abstract interface for transporting datagrams, with a plugin-based backend.
- tbuild - a really nasty hack to automate all the common tasks in building tms, starkit-like applications, and deb and rpm packages for multiple architectures.
- hash - a tiny c extension that implements fast hashing, currently just MD5.
- sockopt - a tiny c extension to expose some properties of TCP sockets not currently accessible from Tcl, like keepalive and nodelay.
- cfkit - a tclkit like runtime based on trofs. Mainly exists because I couldn't get kbskit to build on AIX.