Coroutine-friendly wrapper around an existing AsyncEventLoop. More...
#include <Await.h>
Public Member Functions | |
| AwaitEventLoop (AsyncEventLoop &asyncEventLoop, AwaitAllocator &allocator) | |
| AsyncEventLoop & | asyncEventLoop () |
| const AsyncEventLoop & | asyncEventLoop () const |
| AwaitAllocator & | allocator () |
| Result | spawn (AwaitTask &task) |
| Result | run () |
| Result | runOnce () |
| Result | runNoWait () |
| AwaitSleepAwaiter | sleep (TimeMs duration) |
| AwaitSocketAcceptAwaiter | accept (const SocketDescriptor &serverSocket, SocketDescriptor &outClient) |
| AwaitSocketConnectAwaiter | connect (const SocketDescriptor &socket, SocketIPAddress address) |
| AwaitSocketSendAwaiter | send (const SocketDescriptor &socket, Span< const char > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketSendAwaiter | send (const SocketDescriptor &socket, Span< Span< const char > > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketSendToAwaiter | sendTo (const SocketDescriptor &socket, SocketIPAddress address, Span< const char > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketSendToAwaiter | sendTo (const SocketDescriptor &socket, SocketIPAddress address, Span< Span< const char > > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketSendAllAwaiter | sendAll (const SocketDescriptor &socket, Span< const char > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketSendAllBuffersAwaiter | sendAll (const SocketDescriptor &socket, Span< Span< const char > > data, AwaitSocketSendResult *outResult=nullptr) |
| AwaitSocketReceiveAwaiter | receive (const SocketDescriptor &socket, Span< char > buffer, AwaitSocketReceiveResult &outResult) |
| AwaitSocketReceiveExactAwaiter | receiveExact (const SocketDescriptor &socket, Span< char > buffer, AwaitSocketReceiveResult *outResult=nullptr) |
| AwaitSocketReceiveLineAwaiter | receiveLine (const SocketDescriptor &socket, Span< char > buffer, AwaitSocketReceiveLineResult &outResult) |
| AwaitSocketReceiveFromAwaiter | receiveFrom (const SocketDescriptor &socket, Span< char > buffer, AwaitSocketReceiveFromResult &outResult) |
| AwaitFileReadAwaiter | fileRead (const FileDescriptor &file, Span< char > buffer, AwaitFileReadResult &outResult, AwaitFileReadOptions options={}) |
| AwaitFileReadUntilFullOrEOFAwaiter | fileReadUntilFullOrEOF (const FileDescriptor &file, Span< char > buffer, AwaitFileReadResult &outResult, AwaitFileReadOptions options={}) |
| AwaitFileWriteAwaiter | fileWrite (const FileDescriptor &file, Span< const char > data, AwaitFileWriteResult *outResult=nullptr, AwaitFileWriteOptions options={}) |
| AwaitFileWriteAwaiter | fileWrite (const FileDescriptor &file, Span< Span< const char > > data, AwaitFileWriteResult *outResult=nullptr, AwaitFileWriteOptions options={}) |
| AwaitFileSendAwaiter | fileSend (const FileDescriptor &file, const SocketDescriptor &socket, AwaitFileSendResult &outResult, AwaitFileSendOptions options={}) |
| AwaitFilePollAwaiter | filePoll (const FileDescriptor &file) |
| AwaitLoopWakeUpAwaiter | wakeUp (AwaitLoopWakeUp &wakeUp, AwaitLoopWakeUpResult &outResult, AsyncLoopWakeUpOptions options={}) |
| AwaitFileSystemOperationAwaiter | fsOpen (ThreadPool &threadPool, StringSpan path, FileOpen mode, FileDescriptor &outFile) |
| AwaitFileSystemOperationAwaiter | fsClose (ThreadPool &threadPool, FileDescriptor &file) |
| AwaitFileSystemOperationAwaiter | fsRead (ThreadPool &threadPool, FileDescriptor &file, Span< char > buffer, AwaitFileReadResult &outResult, uint64_t offset=0) |
| AwaitFileSystemOperationAwaiter | fsWrite (ThreadPool &threadPool, FileDescriptor &file, Span< const char > data, AwaitFileWriteResult *outResult=nullptr, uint64_t offset=0) |
| AwaitFileSystemOperationAwaiter | fsCopyFile (ThreadPool &threadPool, StringSpan path, StringSpan destinationPath, FileSystemCopyFlags copyFlags=FileSystemCopyFlags()) |
| AwaitFileSystemOperationAwaiter | fsCopyDirectory (ThreadPool &threadPool, StringSpan path, StringSpan destinationPath, FileSystemCopyFlags copyFlags=FileSystemCopyFlags()) |
| AwaitFileSystemOperationAwaiter | fsRename (ThreadPool &threadPool, StringSpan path, StringSpan newPath) |
| AwaitFileSystemOperationAwaiter | fsRemoveEmptyDirectory (ThreadPool &threadPool, StringSpan path) |
| AwaitFileSystemOperationAwaiter | fsRemoveFile (ThreadPool &threadPool, StringSpan path) |
| AwaitProcessExitAwaiter | processExit (FileDescriptor::Handle process, AwaitProcessExitResult &outResult) |
| AwaitSignalAwaiter | signal (int signalNumber, AwaitSignalResult &outResult) |
| AwaitTaskSpawnAwaiter | spawnAndWait (AwaitTask &task) |
| AwaitTaskTimeoutAwaiter | waitFor (AwaitTask &task, TimeMs timeout, AwaitTimeoutResult *outResult=nullptr) |
| AwaitLoopWorkAwaiter | loopWork (ThreadPool &threadPool, Function< Result()> work) |
Friends | |
| struct | AwaitTask |
Coroutine-friendly wrapper around an existing AsyncEventLoop.