Projects / Channel


Channel is a C++ template framework for distributed message passing and event dispatching. Its major components (message IDs, routing algorithms...) are highly configurable as template parameters. As a namespace shared by peer threads, channels support publish/subscribe scope control, message filtering, and translation.

Operating Systems

Recent releases

  •  22 Jan 2007 13:34

    Release Notes: Jamfile.v2 was added for building the channel library and examples (the current boost CVS build system was changed so Jamfile.v2 is required). However, there are issues with building samples using Jamfile.v2 with WindowsXP and VC++. Windows users should use the existing Jamfile (v1). This may involve replacing the boost/tools/build/v1 directory with the content from an older boost release or CVS checkout (such as 12/10/2006).

    •  16 Jan 2007 00:56

      Release Notes: Complete filter and translator-related code. "Unnamed" bindings of message sender and receiver have been added to support tightly-coupled message passing models.

      •  21 Dec 2006 12:56

        Release Notes: This release introduced associative lookup-based message passing. Regexp based name-matching allows applications to use patterns such as ".*ball.*" to subscribe to messages. Linda-style tuple associative lookup lets applications use wildcard, wildcard, wildcard, "Math Dept" to subscribe to messages for all persons in the math department. The design document was updated, with sections added to clarify class concepts and to explain how to extend the framework by adding new id_type, id_trait, and dispatchers.

        •  29 Nov 2006 13:30

          Release Notes: A push channel can be connected to a pull channel. channel was made compatible with the latest Boost.Asio. Numerous fixes were made, including asio_streams.

          •  23 Oct 2006 07:39

            Release Notes: An initial build was created on WindowsXP with Visual C++ 2005 Express. Most library code and samples were built, tested, and worked correctly, excepting only the sample that uses a shared-memory message queue. A wrapper executor was written to use Philipp Henkel's threadpool library as executors. Choice/join arbiters were reworked and implemented in both synchronous and asynchronous forms. Simple queue classes were added. More documentation was added, and some bugs were fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.