I'm struggling a little bit with the global architecture of proton cpp. I'm
trying to code a wrapper to simplify the utilization for a end user.
This wrapper is divided in two classes, a "client" that launch the
proton::container in a separate thread, and a handler that inherate
proton::messaging_handler. My "client" part is supposed to allow the user
to create a new connection, send message, close the connection, etc..
But I encounter strange behavior from proton, like why when I called a
close on a connection, then my container exit from his thread (return from
the run) ?
Same issue with the proton::reconnection_options, it does not works
properly, if I simulate a broker crash and then relaunch it, my connection
wait while the container is offline but after the restart I get a transport
So I supposed my problem here is that I not fully understand the philosophy
of proton. In my mind it was : one container that handle multiple
connections, and the container can close/open connections from different
Oh and lastly, I do not understand why the proton::error_condition does not
have an error code (proper enum, not string).