ecorm / cppwamp

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

Fix for 'A new write operation started before previous write operation completed. #117' #118

Closed postry closed 5 years ago

ecorm commented 5 years ago

I'm afraid that many CppWAMP test cases segfault with these proposed changes. I'm already working on a solution similar to yours which doesn't rely so much on the txQueue_ size.

postry commented 5 years ago

I fixed it in the recent commit.

ecorm commented 5 years ago

Because of the urgency of solving this problem (due to a company deadline), and because I work different time shifts than @postry , it was not possible for me last night to walk him through the changes needed in this PR so that the CppWAMP unit tests would pass.

I therefore had to proceed with my own solution, which I had independently drafted before I saw his. Because @postry had isolated the problem to a specific module, it was easy for me to come up with my own independent solution.

The lion's share of the effort was in the troubleshooting the problem, and thank @postry for his hard work. He spent much time consulting the WAMP spec, corresponding with the Crossbar team, debugging Crossbar & CppWAMP, and analyzing wire traffic.