GitHub user ben-craig opened a pull request: https://github.com/apache/thrift/pull/554
THRIFT-3247 Generate a C++ thread-safe client This adds a new client class to the generated code <foo>ConcurrentClient. This class handles out-of-order replies, and will allow sends and recvs on different threads to overlap. StressTest has been updated to exercise the ConcurrentClient by sharing one handle among all the client threads. Recursion count had to be split such that the input and output side get different counts. Otherwise, sends and recvs couldn't overlap. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ben-craig/thrift concurrentClient Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/554.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #554 ---- commit ca73a5e5f746e25104b6c94f967e508ddb06b8fb Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T13:34:43Z Adding concurrent client sync info stuff... and saving off work so I can add dominance disables elsewhere commit b35d541a5c9826a9b5595f56181c818261a264a5 Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T16:29:57Z Merge branch 'master' into concurrentClient commit 4ea55c2f84efccf6b0441cb9ee0e860dd23707b3 Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T18:31:34Z Merge branch 'master' of https://github.com/apache/thrift into concurrentClient commit b4c68a822359b1e6e40b66dce11a26db038e2e47 Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T19:18:53Z Stuff builds. Still need a new test. commit 23d0f2c455b16b29585240d87cca69a5123fe635 Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T19:45:24Z Added comments to the generated code commit 09473ee56f4eb227d8aed8bd8b7f12c6289dbbc5 Author: ben-craig <ben.cr...@gmail.com> Date: 2015-07-15T22:06:33Z Added test. Stopped sharing recursion depth. Updated code generator. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---