http://publists.facebook.com/pipermail/thrift/2008-April/000777.html

It looks pretty simple.  I'm not thrilled about the mixing of winsock
and BSD sockets code in TSocket, but it might be preferable to the
duplication that would be necessary if they were split into two
classes.

Also, it is client-only.

--David

Rush Manbert wrote:
> On Jan 30, 2009, at 4:18 PM, David Reiss wrote:
> 
>>> 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.
> 
> The post that I cited was sent in Nov. 2008 to this list by Mark Slee.  
> I believe you are thinking of the patch that Norman Casagrande  
> submitted. My original question was posted to the Facebook-hosted list.
> 
> If we do the port ourselves, then it might be useful to have the patch  
> that was submitted, just so we can look at it and see what was  
> modified. I'm still holding out hope that the November 2008 work  
> actually came to something usable.
> 
>>
>>> 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
> 
> Thank you very much for this information and advice. We definitely  
> need the server as well as the client. If we end up doing the port,  
> then we would certainly be willing to contribute it. We'll also  
> discuss our plans and goals with you before we start to see how they  
> line up with others. Thrift has been very beneficial to us and we'd  
> like to return the favor.
> 
> - Rush
> 
> 

Reply via email to