Hi,
    
    On 16/2/23 下午10:33, Piotr Caban wrote:
    
    Hi,
      
      
      On 02/22/16 16:16, YongHao Hu wrote:
      
      This year I want to implement functions
        from Concurrency namespace[1].
        
        As Wine had already implemented class
        Concurrency::critical_section[2],
        
        SpinWait and Concurrency::details::_GetConcurrency, and I had
        found
        
        information in Microsoft open-source project for cloud-based
        
        client-server communication in native code using a modern
        asynchronous
        
        C++ API design[3] which are helpful for the implementation, I
        think that
        
        I am able to handle this project.
        
      
      I'm not sure what to think about this project. It would be nice to
      have this functions implemented in wine. On the other hand I'm
      expecting it to be quite hard.
      
      
    
    As we can refer to some implementation of Microsoft[1], do you think
    it would become easier?
    
    For example, the event class[2] can refer to the 
    
    pplxlinux.h[3], 
    TaskCollection[4] can refer to pplx.h[5] and
    reader_writer_lock[6] can refer to pplxlinux.h[7] etc.
    
    
    My simple plan may like this:
        Add tests to critical session.
        Implement
    
    Class condition variable first, which can refer to BOOST and tests.
        Implement Class event and tests.
    
        Implement Class TaskCollection and tests.
        Implement Class reader_writer_lock and tests.
        Else: Find something that I think I can handle.
    
    Do you think such a plan would satisfy GSoC's requirement?
    
    Thank you very much. :)
    
    [1]: https://github.com/Microsoft/cpprestsdk
    
    [2]: https://msdn.microsoft.com/en-us/library/dd492846.aspx
    [3]:
https://github.com/Microsoft/cpprestsdk/blob/master/Release/include/pplx/pplxlinux.h#L84
    
    [4]: https://msdn.microsoft.com/en-us/library/dd470722.aspx
    [5]:
https://github.com/Microsoft/cpprestsdk/blob/master/Release/include/pplx/pplx.h#L146
    
    [6]: https://msdn.microsoft.com/en-us/library/dd504907.aspx
    [7]:
https://github.com/Microsoft/cpprestsdk/blob/master/Release/include/pplx/pplxlinux.h#L140