| 662 | bytesTransferred = 0; |
| 663 | completionPosted = false; |
| 664 | #if SC_PLATFORM_WINDOWS |
| 665 | overlapped.get().userData = this; |
| 666 | memset(&overlapped.get().overlapped, 0, sizeof(overlapped.get().overlapped)); |
| 667 | #endif |
| 668 | return SC::Result(true); |
| 669 | } |
| 670 | |
| 671 | SC::Result SC::AsyncExternalCompletion::clearSubmissionPending() |
| 672 | { |
| 673 | if (not submissionPending) |
| 674 | return SC::Result::Error(AsyncResultCategory, AsyncError::NoPendingSubmission); |
| 675 | submissionPending = false; |
| 676 | bytesTransferred = 0; |
| 677 | completionPosted = false; |
| 678 | return SC::Result(true); |
| 679 | } |
| 680 | |
| 681 | SC::Result SC::AsyncExternalCompletion::validate(AsyncEventLoop&) |
| 682 | { |
| 683 | if (not manualMode and handle == FileDescriptor::Invalid) |