NCBI C++ ToolKit
Public Types | Public Member Functions | List of all members
IAsyncInterface Struct Referenceabstract

Search Toolkit Book for IAsyncInterface

Interface defines async. More...

#include <algo/volume_merge/volume_merge.hpp>

+ Inheritance diagram for IAsyncInterface:

Public Types

enum  EStatus { eReady = 0 , eFailed , eNoMoreData , eNotReady }
 Async. More...
 

Public Member Functions

virtual ~IAsyncInterface ()
 
virtual EStatus GetStatus () const =0
 Get current interface async. status. More...
 
virtual EStatus WaitReady () const =0
 Wait until interface is ready (or operation fails) (On failure volume is free to throw an exception) More...
 

Detailed Description

Interface defines async.

processing primitives

Definition at line 147 of file volume_merge.hpp.

Member Enumeration Documentation

◆ EStatus

Async.

device status, describes if interface is in Ok condition to continue processing Some interface implementations can support async. execution, and stay "not ready" until background logic finishes (successfully or not)

Enumerator
eReady 

Volume is ready.

eFailed 

Last operation failed and interface cannot recover.

eNoMoreData 

Interface reached the end (EOF)

eNotReady 

Last request did not finish yet.

Definition at line 156 of file volume_merge.hpp.

Constructor & Destructor Documentation

◆ ~IAsyncInterface()

virtual IAsyncInterface::~IAsyncInterface ( )
inlinevirtual

Definition at line 149 of file volume_merge.hpp.

Member Function Documentation

◆ GetStatus()

virtual EStatus IAsyncInterface::GetStatus ( ) const
pure virtual

Get current interface async. status.

Implemented in CBDB_MergeStoreAsync< BStore >::CAsync, and CBDB_MergeBlobWalkerAsync< BF >::CAsync.

Referenced by s_GetAsyncStatus().

◆ WaitReady()

virtual EStatus IAsyncInterface::WaitReady ( ) const
pure virtual

Wait until interface is ready (or operation fails) (On failure volume is free to throw an exception)

Implemented in CBDB_MergeStoreAsync< BStore >::CAsync, and CBDB_MergeBlobWalkerAsync< BF >::CAsync.

Referenced by CMergeVolumes::x_StoreMerger().


The documentation for this struct was generated from the following file:
Modified on Sat May 18 11:37:50 2024 by modify_doxy.py rev. 669887