> Did anything ever come of this? I haven't heard any news. I think a "seems to work for me, but who knows"-quality patch was sent to the old Facebook-hosted list way back when. If you want it, I can try to dig it out for you.
> My project has reached the point that we need a C++ implementation of > the Thrift library that works in Windows. Before we go off and do > something ourselves, it seemed prudent to come back once again and ask > whether anyone else is working on this, and whether they would be > willing to share. We can contribute someone to work on it. > > If we need to do it for ourselves, we would probably take the route > suggested by Norman Casagrande, replacing all of the Unix-specific > code with Boost ASIO or other Boost code as necessary. If all you need is the client, then the only class you should need to port is TSocket. If you need a Thrift server too, then yes, you'll probably need TServerSocket and some of the concurrency stuff. libevent appears to work on Windows, so ASIO shouldn't be necessary. If you are interested in merging your port into the Thrift trunk, I think following these steps would help a lot: 1/ Don't make wholesale changes to TSocket. If you need to do a rewrite, please do it as a new class. There is no harm having a TWinSocket class in the tree. If it ends up being TBoostSocket, that's fine too, as long as the differences with TSocket are clear. Same with TServerSocket. 2/ The concurrency code was designed to be implementation-neutral, so it should be possible to swap out pthreads without any changes to existing code. If you need to make changes to an existing concurrency class, please bring it up with this list as early as possible. Best of luck! --David
