I am working on a multi-threaded broker example for proton C++ and I am
becoming more and more convinced that it doesn't make much sense to try
to do this without C++11.

There are two classes of issue:

API:
- inject() needs a way to represent a callback function. Without
std::function this is very difficult.
- for memory-safe multi-threaded we will need to expose
shared_ptr/unique_ptr in the public API (the proton refcounting scheme
is not thread safe.)

Implementation: initially the multi-threaded broker impl will be
independent of the single-threaded proton core but at some point we
will want to provide some thread-safe toolkit as part of the C++ API,
which internally needs atomics, mutexes etc.

Originally we talked about keeping proton based on C++03. I'd like to
propose we maintain that for the single-threaded but use C++11 in
thread-safe and shared_ptr extensions.

If someone wants to add a boost version of those extensions at some
point that would be fine by me, but I plan to work initially with
C++11.

Thoughts?
Alan.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to