NCBI C++ ToolKit
|
Search Toolkit Book for IAsyncInterface
Interface defines async. More...
#include <algo/volume_merge/volume_merge.hpp>
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... | |
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.
|
inlinevirtual |
Definition at line 149 of file volume_merge.hpp.
|
pure virtual |
Get current interface async. status.
Implemented in CBDB_MergeStoreAsync< BStore >::CAsync, and CBDB_MergeBlobWalkerAsync< BF >::CAsync.
Referenced by s_GetAsyncStatus().
|
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().