Boost logo

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