Stxxl  1.2.1
Modules | Classes | Functions
I/O primitives layer
Collaboration diagram for I/O primitives layer:

Modules

 File implementations

Classes

struct  default_completion_handler
 Default completion handler class. More...
class  file
 Defines interface of file. More...
class  request
 Defines interface of request. More...
class  request_ptr
 A smart wrapper for request pointer. More...
class  disk_queues
 Encapsulates disk queues. More...
class  stats
 Collects various I/O statistics. More...

Functions

int wait_any (request_ptr req_array[], int count)
 Collection of functions to track statuses of a number of requests.
void wait_all (request_ptr req_array[], int count)
 Suspends calling thread until all requests are completed.
bool poll_any (request_ptr req_array[], int count, int &index)
 Polls requests.

Detailed Description

Group of classes which enable abstraction from operating system calls and support system-independent interfaces for asynchronous I/O.


Function Documentation

bool poll_any ( request_ptr  req_array[],
int  count,
int &  index 
)
inline

Polls requests.

Parameters:
req_arrayarray of request_ptr objects
countsize of req_array
indexcontains index of the first completed request if any
Returns:
true if any of requests is completed, then index contains valid value, otherwise false
void wait_all ( request_ptr  req_array[],
int  count 
)
inline

Suspends calling thread until all requests are completed.

Parameters:
req_arrayarray of request_ptr objects
countsize of req_array
Examples:
io/test_io.cpp, and mng/test_mng.cpp.

References request::wait().

Referenced by stream::check_sorted_runs(), and ksort().

int wait_any ( request_ptr  req_array[],
int  count 
)
inline

Collection of functions to track statuses of a number of requests.

Suspends calling thread until any of requests is completed

Parameters:
req_arrayarray of request_ptr objects
countsize of req_array
Returns:
index in req_array pointing to the first completed request

References request::check_errors().

Referenced by buffered_writer< block_type >::get_free_block(), and write_pool< block_type >::steal().