From: Yigong Liu (yigongliu_at_[hidden])
Date: 2006-10-03 04:18:37
> Basically I am looking for a unified library in Boost that will also me to
> handle and dispatch
> events and also allow communication between processes on a local pc and
> also a remote
> pc. Is there such a boost library?
Based on your specific requirements, the Channel library/framework i am
working on seems a good fit. Channel is a C++ template framework for
asynchronous local/distributed event dispatching and message passing.
Channel's name_space help bind message/event senders to local/remote
message/event receivers and dispatch messages/events from senders to
receivers. Various name_spaces and dispatching policies can be plugged into
the framework depending on applications' requirements. Channel is built on
existing boost libraries: it uses Boost.Asio and Boost.Interprocess to
create the transport among distributed processes and uses
Boost.Serialization for message marshaling/demarshaling. Channel is for
building ordinary asynchronous distributed applications.
Channel is not a boost library yet, and i am working toward a boost
proposal. I posted about Channel on this email list about half a year ago
and many expressed interests and the comments are really helpful. I'll
continue improving code based on feedbacks. It currently builds in linux
with gcc. What i am doing now is fix bugs and build it on Win32 with
VC++2005 express and after that is done i'll submit formal proposal with a
FYI, i just did a snapshot of latest code and post it at
http://channel.sourceforge.net. The changes are:
1. restructuring of source code directories; move components to
sub-directories (where they should be): name_spaces, executors, dispatchers,
2. add a "stream" class based on Boost.Interprocess shmem message queue to
connect channels at different processes in the same box thru shared memory
3. add samples to demo shmem based channel connections and distributed chat
(client/server) based on "stream" on top of ASIO socket.
Comments and corrections are highly appreciated.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk