ecorm / cppwamp

C++ client library for the WAMP protocol.
Boost Software License 1.0
35 stars 9 forks source link

Thread-safe Session #89

Closed ecorm closed 2 years ago

ecorm commented 8 years ago

Consider making Session objects more thread safe. This might entail that internal::WampMessage objects can no longer be reused in internal::Client, but must be constructed every time a message needs to be sent.

ecorm commented 2 years ago

Now that serializer/deserializer instances are reused within the same Session, making its existing operations reentrant is impossible without posting everything to Session's strand.

A set thread-safe methods (or overloads) will be added to Session which post everything to Session's strand. That way, single-threaded apps can continue using the existing API without the post penalty.

ecorm commented 2 years ago

Completed in 29153f69d57a975e872b430c35e5fb5bb441aa03

Session now has overloads taking the ThreadSafe tag which will perform the operation in a thread-safe manner when invoked from concurrent threads,