94 Span<FiberAsyncCommand> commandStorage = {});
100 [[nodiscard]]
bool isOwnerThread()
const;
105 Result runUntilComplete();
106 Result runUntilIdle();
108 Result runOwnerOnce();
109 Result runOwnerNoWait();
110 Result runOwnerUntilComplete();
111 Result runOwnerUntilIdle();
115 Result sleep(TimeMs duration);
126 Result fileReadAt(
const FileDescriptor& file, uint64_t offset, Span<char> buffer,
129 Result fileReadExactAt(
const FileDescriptor& file, uint64_t offset, Span<char> buffer,
133 Result fileWriteAt(
const FileDescriptor& file, uint64_t offset, Span<const char> data,
135 Result fileWriteAll(
const FileDescriptor& file, Span<const char> data,
137 Result fileWriteAllAt(
const FileDescriptor& file, uint64_t offset, Span<const char> data,
148 Span<FiberAsyncCommand> commands;
149 size_t commandHead = 0;
150 size_t commandCount = 0;
154 uint64_t ownerThreadID = 0;
156 Result checkOwnerThread()
const;
157 void operationStarted();
158 void operationFinished();
159 void lockCommands()
const;
160 void unlockCommands()
const;
162 Result drainCommandQueue();
163 bool hasPendingCommands()
const;
165 uint64_t offset,
bool useOffset);
169 uint64_t offset,
bool useOffset);
171 uint64_t offset,
bool useOffset);
174 Result executeStartCommand(
void* startState);
176 void* startState =
nullptr);
178 Result executeStopCommand(
void* stopState);
Asynchronous I/O (files, sockets, timers, processes, fs events, threads wake-up) (see Async) AsyncEve...
Definition Async.h:1486