Stxxl
1.2.1
|
Defines interface of request. More...
#include <iobase.h>
Public Member Functions | |
virtual void | wait ()=0 |
Suspends calling thread until completion of the request. | |
virtual bool | poll ()=0 |
Polls the status of the request. | |
virtual const char * | io_type () |
Identifies the type of request I/O implementation. | |
void | error_occured (const char *msg) |
Inform the request object that an error occurred during the I/O execution. | |
void | error_occured (const std::string &msg) |
Inform the request object that an error occurred during the I/O execution. | |
void | check_errors () throw (stxxl::io_error) |
Rises an exception if there were error with the I/O. |
Friends | |
int | wait_any (request_ptr req_array[], int count) |
Collection of functions to track statuses of a number of requests. |
Defines interface of request.
Since all library I/O operations are asynchronous, one needs to keep track of their status: whether an I/O completed or not.
|
inline |
Rises an exception if there were error with the I/O.
Referenced by ufs_request_base::poll(), mem_request::poll(), ufs_request_base::wait(), mem_request::wait(), and wait_any().
|
inline |
Inform the request object that an error occurred during the I/O execution.
|
inline |
Inform the request object that an error occurred during the I/O execution.
|
inlinevirtual |
Identifies the type of request I/O implementation.
Reimplemented in sim_disk_request, mem_request, ufs_request_base, mmap_request, and syscall_request.
|
pure virtual |
Polls the status of the request.
true
if request is completed, otherwise false
Implemented in mem_request, and ufs_request_base.
Referenced by buffered_writer< block_type >::get_free_block().
|
pure virtual |
Suspends calling thread until completion of the request.
Implemented in mem_request, and ufs_request_base.
Referenced by block_prefetcher< block_type, bid_iterator_type >::block_consumed(), buffered_writer< block_type >::flush(), ksort(), stream::runs_creator< use_push< ValueType_ >, Cmp_, BlockSize_, AllocStr_ >::push(), grow_shrink_stack2< Config_ >::set_prefetch_aggr(), sort(), wait_all(), buffered_writer< block_type >::write(), block_prefetcher< block_type, bid_iterator_type >::~block_prefetcher(), and buffered_writer< block_type >::~buffered_writer().
|
friend |
Collection of functions to track statuses of a number of requests.
Suspends calling thread until any of requests is completed
req_array | array of request_ptr objects |
count | size of req_array |