|
Boost : |
From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2005-03-01 15:21:10
"Jarl Lindrud" wrote:
> I've written a library for doing portable C++ RPC's, which can be
> downloaded at
>
> http://www.codeproject.com/threads/RMI_For_Cpp.asp
>
> Is there any interest in Boost for something like this, and if so in what
> directions do you all think it should be developed?
>
Yes.
Would it be possible to use the library as communication
channel between isolated threads, like it is in language
Erlang (http://www.erlang.org/)?
Erlang provides very easy to use and very powerful way
to create (completely isolated) processes (actually threads),
send messages between them and manage their lifetime.
All location transparent.
As result design of an Erlang app could be separated
into small processes of natural "size".
I only wish something similar in C++.
------------
More details:
- Erlang can easily start processes locally:
pid = spawn(AFunction, Parameters)
or on different node
pid = spawn(Node, AFunction, Parameters)
- error happening in "child" process
causes parent process to be stopped
(this is feature but parent may handle error)
- processes can be monitored whether they
are alive yet
- new version of a process may be loaded into running
app automatically and transparently (Erlang is functional
language w/o state so this is relatively easy)
- the data passed between processes are all values
with attached metadata for checking. This enables high
isolation, avoids locking and allows to create systems
with tens of thousands of processes (threads)
/Pavel
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk