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

Synchronous-looking fiber I/O wrapper around an externally owned AsyncEventLoop. More...

#include <AsyncFibers.h>

Public Member Functions

 AsyncFiberIO (FiberScheduler &fiberScheduler, AsyncEventLoop &asyncEventLoop, Span< AsyncFiberCommand > commandStorage={})
 
 AsyncFiberIO (const AsyncFiberIO &)=delete
 
AsyncFiberIOoperator= (const AsyncFiberIO &)=delete
 
 AsyncFiberIO (AsyncFiberIO &&)=delete
 
AsyncFiberIOoperator= (AsyncFiberIO &&)=delete
 
FiberSchedulerfiberScheduler ()
 
const FiberSchedulerfiberScheduler () const
 
AsyncEventLoopasyncEventLoop ()
 
const AsyncEventLoopasyncEventLoop () const
 
bool isOwnerThread () const
 
Result run ()
 
Result runOnce ()
 
Result runNoWait ()
 
Result runUntilComplete ()
 
Result runUntilIdle ()
 
Result runOwner ()
 
Result runOwnerOnce ()
 
Result runOwnerNoWait ()
 
Result runOwnerUntilComplete ()
 
Result runOwnerUntilIdle ()
 
Result cancelAll ()
 
Result sleep (TimeMs duration)
 
Result accept (const SocketDescriptor &serverSocket, SocketDescriptor &outClient)
 
Result connect (const SocketDescriptor &socket, SocketIPAddress address)
 
Result send (const SocketDescriptor &socket, Span< const char > data, AsyncFiberSocketSendResult *outResult=nullptr)
 
Result receive (const SocketDescriptor &socket, Span< char > buffer, AsyncFiberSocketReceiveResult &outResult)
 
Result sendAll (const SocketDescriptor &socket, Span< const char > data, AsyncFiberSocketSendResult *outResult=nullptr)
 
Result sendTo (const SocketDescriptor &socket, SocketIPAddress address, Span< const char > data, AsyncFiberSocketSendResult *outResult=nullptr)
 
Result receiveFrom (const SocketDescriptor &socket, Span< char > buffer, AsyncFiberSocketReceiveFromResult &outResult)
 
Result fileRead (const FileDescriptor &file, Span< char > buffer, AsyncFiberFileReadResult &outResult)
 
Result fileReadAt (const FileDescriptor &file, uint64_t offset, Span< char > buffer, AsyncFiberFileReadResult &outResult)
 
Result fileReadExact (const FileDescriptor &file, Span< char > buffer, AsyncFiberFileReadResult &outResult)
 
Result fileReadExactAt (const FileDescriptor &file, uint64_t offset, Span< char > buffer, AsyncFiberFileReadResult &outResult)
 
Result filePoll (const FileDescriptor &file)
 
Result fileWrite (const FileDescriptor &file, Span< const char > data, AsyncFiberFileWriteResult *outResult=nullptr)
 
Result fileWriteAt (const FileDescriptor &file, uint64_t offset, Span< const char > data, AsyncFiberFileWriteResult *outResult=nullptr)
 
Result fileWriteAll (const FileDescriptor &file, Span< const char > data, AsyncFiberFileWriteResult *outResult=nullptr)
 
Result fileWriteAllAt (const FileDescriptor &file, uint64_t offset, Span< const char > data, AsyncFiberFileWriteResult *outResult=nullptr)
 
Result fileSend (const FileDescriptor &file, const SocketDescriptor &socket, AsyncFiberFileSendOptions options={}, AsyncFiberFileSendResult *outResult=nullptr)
 
Result processExit (FileDescriptor::Handle process, AsyncFiberProcessExitResult &outResult)
 
Result signal (int signalNumber, AsyncFiberSignalResult &outResult)
 

Detailed Description

Synchronous-looking fiber I/O wrapper around an externally owned AsyncEventLoop.

Operation methods require a currently running fiber of the supplied FiberScheduler.


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