Sane C++ Libraries
C++ Platform Abstraction Libraries
Loading...
Searching...
No Matches
SC::AwaitEventLoop Struct Reference

Coroutine-friendly wrapper around an existing AsyncEventLoop. More...

#include <Await.h>

Public Member Functions

 AwaitEventLoop (AsyncEventLoop &asyncEventLoop, AwaitArena *arena=nullptr)
 
AsyncEventLoopasyncEventLoop ()
 
const AsyncEventLoopasyncEventLoop () const
 
AwaitArenaarena ()
 
bool hasArena () const
 
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
 

Detailed Description

Coroutine-friendly wrapper around an existing AsyncEventLoop.


The documentation for this struct was generated from the following file: