cppcoro/include/cppcoro/detail
Lewis Baker b830b08324 Refactor async I/O operation classes to remove some duplication.
Factors out implementation of calls to OS that was duplicated in
both cancellable and non-cancellable operation objects into an
'impl' class that can be used by both.

Also, fixed potential data race in some try_start() methods when
trying to read the m_skipCompletionOnSuccess member of a socket
after starting the I/O operation. Now ensure that this flag is
read before starting the operation.

Simplified logic for file_[read/write]_operation slightly by
passing out-parameter to receive number of bytes read/written
if operation completes synchronously. This avoids an extra call
to GetOverlappedResult() to retrieve this information.
2018-01-12 06:35:30 +10:30
..
continuation.hpp Rename 'resumer' class to 'continuation'. 2017-08-02 08:32:10 +09:30
lightweight_manual_reset_event.hpp Add generic imlementation of lightweight_manual_reset_event. 2017-09-11 06:50:21 +09:30
unwrap_reference.hpp Add when_all() and when_all_ready(). 2017-08-02 08:32:10 +09:30
when_all_awaitable.hpp Add when_all() and when_all_ready(). 2017-08-02 08:32:10 +09:30
win32.hpp Add some basic Win32 async socket abstractions. 2018-01-12 06:35:15 +10:30
win32_overlapped_operation.hpp Refactor async I/O operation classes to remove some duplication. 2018-01-12 06:35:30 +10:30