AioStatusInterface Class Reference

#include <network_ioservice.h>

Detailed Description

This class is used to wait on the status of one or more asynchronous I/O operations.

Public Member Functions

MAXON_METHOD Result< BoolWait (const TimeValue &timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT)
 
MAXON_METHOD ConditionVariableDependency AddDependency ()
 
MAXON_METHOD Result< void > PushError (const Error &error)
 

Static Public Member Functions

static MAXON_METHOD AioStatusInterfaceAlloc (MAXON_SOURCE_LOCATION_DECLARATION)
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (AioStatusInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.aiostatus")
 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( AioStatusInterface  ,
MAXON_REFERENCE_NORMAL  ,
"net.maxon.interface.aiostatus"   
)
private

◆ Alloc()

◆ Wait()

MAXON_METHOD Result<Bool> Wait ( const TimeValue timeout = TIMEVALUE_INFINITE,
WAITMODE  mode = WAITMODE::DEFAULT 
)

Waits until all of the depending operations are completed, or until an optional timeout is reached. After wait returns, the AioStatus can be re-used.

Parameters
[in]timeoutSee ConditionVariable::Wait();.
[in]modeSee ConditionVariable::Wait();.
Returns
True if all operations succeeded, false on timeout, or the aggregated error(s) if one or more operations failed.

◆ AddDependency()

Adds a new dependency Wait() has to wait for.

◆ PushError()

MAXON_METHOD Result<void> PushError ( const Error &  error)

Adds an error to the aggregated result of Wait().