Projects / Channel

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.

Tags
Operating Systems
Implementation

RSS Recent releases

  •  22 Jan 2007 05: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).

    •  15 Jan 2007 16: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 04: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 05: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 00: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.

      Screenshot

      Project Spotlight

      THIS

      This HTML Is Simple.

      Screenshot

      Project Spotlight

      liblangtag

      An interface library to access tags for identifying languages.