Starts a Timeout that is invoked only once after expiration (relative) time has passed. More...
#include <Async.h>
Public Types | |
using | CompletionData = AsyncCompletionData |
using | Result = AsyncResultOf<AsyncLoopTimeout, CompletionData> |
![]() | |
enum class | Type : uint8_t { LoopTimeout , LoopWakeUp , LoopWork , ProcessExit , SocketAccept , SocketConnect , SocketSend , SocketReceive , SocketClose , FileRead , FileWrite , FileClose , FilePoll } |
Type of async request. More... | |
Public Member Functions | |
SC::Result | start (AsyncEventLoop &eventLoop, Time::Milliseconds relativeTimeout) |
Sets async request members and calls AsyncEventLoop::start. | |
Time::Absolute | getExpirationTime () const |
Gets computed absolute expiration time that determines when this timeout get executed. | |
Result | start (AsyncEventLoop &eventLoop) |
Shortcut for AsyncEventLoop::start. | |
![]() | |
void | setDebugName (const char *newDebugName) |
void | executeOn (AsyncSequence &sequence) |
Adds the request to be executed on a specific AsyncSequence. | |
Result | executeOn (AsyncTaskSequence &task, ThreadPool &pool) |
Adds the request to be executed on a specific AsyncTaskSequence. | |
void | disableThreadPool () |
Disables the thread-pool usage for this request. | |
AsyncRequest (Type type) | |
Constructs a free async request of given type. | |
Result | stop (AsyncEventLoop &eventLoop, Function< void(AsyncResult &)> *afterStopped=nullptr) |
Ask to stop current async operation. | |
bool | isFree () const |
Returns true if this request is free. | |
bool | isCancelling () const |
Returns true if this request is being cancelled. | |
bool | isActive () const |
Returns true if this request is active or being reactivated. | |
Type | getType () const |
Returns request type. | |
Result | start (AsyncEventLoop &eventLoop) |
Shortcut for AsyncEventLoop::start. | |
void | setUserFlags (uint16_t externalFlags) |
Sets user flags, holding some meaningful data for the caller. | |
uint16_t | getUserFlags () const |
Gets user flags, holding some meaningful data for the caller. | |
Function< void(AsyncResult &)> * | getCloseCallback () |
Returns currently set close callback (if any) passed to AsyncRequest::stop. | |
const Function< void(AsyncResult &)> * | getCloseCallback () const |
Public Attributes | |
Function< void(Result &)> | callback |
Called after given expiration time since AsyncLoopTimeout::start has passed. | |
Time::Milliseconds | relativeTimeout |
First timer expiration (relative) time in milliseconds. | |
![]() | |
AsyncRequest * | next = nullptr |
AsyncRequest * | prev = nullptr |
Friends | |
struct | AsyncEventLoop |
Additional Inherited Members | |
![]() | |
Result | checkState () |
void | queueSubmission (AsyncEventLoop &eventLoop) |
AsyncTaskSequence * | getTask () |
![]() | |
AsyncSequence * | sequence = nullptr |
Starts a Timeout that is invoked only once after expiration (relative) time has passed.
|
inline |
Gets computed absolute expiration time that determines when this timeout get executed.
Result SC::AsyncRequest::start | ( | AsyncEventLoop & | eventLoop | ) |
Shortcut for AsyncEventLoop::start.
SC::Result SC::AsyncLoopTimeout::start | ( | AsyncEventLoop & | eventLoop, |
Time::Milliseconds | relativeTimeout ) |
Sets async request members and calls AsyncEventLoop::start.
Called after given expiration time since AsyncLoopTimeout::start has passed.
Time::Milliseconds SC::AsyncLoopTimeout::relativeTimeout |
First timer expiration (relative) time in milliseconds.