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