STXXL
1.4.0
|
Group of classes which enable abstraction from operating system calls and support system-independent interfaces for asynchronous I/O. More...
Modules | |
File I/O Implementations | |
Implementations of stxxl::file and stxxl::request for various file access methods. | |
Classes | |
class | stxxl::disk_queues |
Encapsulates disk queues. More... | |
class | stxxl::file |
Defines interface of file. More... | |
class | stxxl::request |
Request with basic properties like file and offset. More... | |
class | stxxl::request_interface |
Functional interface of a request. More... | |
class | stxxl::request_queue |
class | stxxl::request_queue_impl_1q |
class | stxxl::request_queue_impl_qwqr |
class | stxxl::request_queue_impl_worker |
class | stxxl::serving_request |
Request which serves an I/O by calling the synchronous routine of the file. More... | |
class | stxxl::stats |
Collects various I/O statistics. More... | |
class | stxxl::stats_data |
Macros | |
#define | BLOCK_ALIGN 4096 |
Typedefs | |
typedef counting_ptr< request > | stxxl::request_ptr |
A reference counting pointer for request . More... | |
Functions | |
std::string | stxxl::add_IEC_binary_multiplier (uint64 number, const char *unit="") |
std::string | stxxl::add_SI_multiplier (uint64 number, const char *unit="") |
template<class request_iterator_ > | |
std::iterator_traits < request_iterator_ > ::difference_type | stxxl::cancel_all (request_iterator_ reqs_begin, request_iterator_ reqs_end) |
Cancel requests. The specified requests are canceled unless already being processed. However, cancelation cannot be guaranteed. Cancelled requests must still be waited for in order to ensure correct operation. More... | |
std::string | stxxl::format_with_SI_IEC_unit_multiplier (uint64 number, const char *unit="", int multiplier=1000) |
std::ostream & | stxxl::operator<< (std::ostream &out, const request &req) |
std::ostream & | stxxl::operator<< (std::ostream &o, const stats_data &s) |
std::ostream & | stxxl::operator<< (std::ostream &o, const stats &s) |
template<class request_iterator_ > | |
request_iterator_ | stxxl::poll_any (request_iterator_ reqs_begin, request_iterator_ reqs_end) |
Polls requests. More... | |
bool | stxxl::poll_any (request_ptr req_array[], size_t count, size_t &index) |
Polls requests. More... | |
template<class request_iterator_ > | |
void | stxxl::wait_all (request_iterator_ reqs_begin, request_iterator_ reqs_end) |
Collection of functions to track statuses of a number of requests. More... | |
void | stxxl::wait_all (request_ptr req_array[], size_t count) |
Suspends calling thread until all given requests are completed. More... | |
template<class request_iterator_ > | |
request_iterator_ | stxxl::wait_any (request_iterator_ reqs_begin, request_iterator_ reqs_end) |
Suspends calling thread until any of requests is completed. More... | |
size_t | stxxl::wait_any (request_ptr req_array[], size_t count) |
Suspends calling thread until any of requests is completed. More... | |
Group of classes which enable abstraction from operating system calls and support system-independent interfaces for asynchronous I/O.
#define BLOCK_ALIGN 4096 |
Definition at line 34 of file request.h.
Referenced by stxxl::request::check_alignment(), stxxl::mem_file::discard(), stxxl::fileperblock_file< base_file_type >::lock(), and stxxl::typed_block< RawSize, Type, NRef, MetaInfoType >::typed_block().
typedef counting_ptr<request> stxxl::request_ptr |
|
inline |
Definition at line 626 of file iostats.h.
References stxxl::format_with_SI_IEC_unit_multiplier().
|
inline |
Definition at line 631 of file iostats.h.
References stxxl::format_with_SI_IEC_unit_multiplier().
std::iterator_traits<request_iterator_>::difference_type stxxl::cancel_all | ( | request_iterator_ | reqs_begin, |
request_iterator_ | reqs_end | ||
) |
Cancel requests. The specified requests are canceled unless already being processed. However, cancelation cannot be guaranteed. Cancelled requests must still be waited for in order to ensure correct operation.
reqs_begin | begin of request sequence |
reqs_end | end of request sequence |
Definition at line 59 of file request_operations.h.
std::string stxxl::format_with_SI_IEC_unit_multiplier | ( | uint64 | number, |
const char * | unit = "" , |
||
int | multiplier = 1000 |
||
) |
Definition at line 329 of file iostats.cpp.
Referenced by stxxl::add_IEC_binary_multiplier(), and stxxl::add_SI_multiplier().
|
inline |
Definition at line 106 of file request.h.
References stxxl::request::print().
std::ostream & stxxl::operator<< | ( | std::ostream & | o, |
const stats_data & | s | ||
) |
Definition at line 353 of file iostats.cpp.
References stxxl::stats_data::get_cached_read_volume(), stxxl::stats_data::get_cached_reads(), stxxl::stats_data::get_cached_writes(), stxxl::stats_data::get_cached_written_volume(), stxxl::stats_data::get_elapsed_time(), stxxl::stats_data::get_io_wait_time(), stxxl::stats_data::get_pio_time(), stxxl::stats_data::get_pread_time(), stxxl::stats_data::get_pwrite_time(), stxxl::stats_data::get_read_time(), stxxl::stats_data::get_read_volume(), stxxl::stats_data::get_reads(), stxxl::stats_data::get_wait_read_time(), stxxl::stats_data::get_wait_write_time(), stxxl::stats_data::get_write_time(), stxxl::stats_data::get_writes(), stxxl::stats_data::get_written_volume(), and hr.
|
inline |
request_iterator_ stxxl::poll_any | ( | request_iterator_ | reqs_begin, |
request_iterator_ | reqs_end | ||
) |
Polls requests.
reqs_begin | begin of request sequence to poll |
reqs_end | end of request sequence to poll |
true
if any of requests is completed, then index contains valid value, otherwise false
Definition at line 76 of file request_operations.h.
Referenced by stxxl::poll_any().
|
inline |
Polls requests.
req_array | array of request_ptr objects |
count | size of req_array |
index | contains index of the first completed request if any |
true
if any of requests is completed, then index contains valid value, otherwise false
Definition at line 94 of file request_operations.h.
References stxxl::count(), and stxxl::poll_any().
void stxxl::wait_all | ( | request_iterator_ | reqs_begin, |
request_iterator_ | reqs_end | ||
) |
Collection of functions to track statuses of a number of requests.
Suspends calling thread until all given requests are completed.
reqs_begin | begin of request sequence to wait for |
reqs_end | end of request sequence to wait for |
Definition at line 36 of file request_operations.h.
Referenced by stxxl::ksort_local::check_ksorted_runs(), stxxl::sort_local::check_sorted_runs(), stxxl::stream::check_sorted_runs(), stxxl::stream::basic_runs_creator< Input_, CompareType_, BlockSize_, AllocStr_ >::compute_result(), stxxl::sort_local::create_runs(), stxxl::ksort_local::create_runs(), stxxl::ksort(), stxxl::normal_stack< StackConfig >::pop(), stxxl::grow_shrink_stack< StackConfig >::pop(), stxxl::normal_stack< StackConfig >::push(), stxxl::vector< ValueType >::read_page(), stxxl::stl_in_memory_sort(), stxxl::wait_all(), stxxl::vector< ValueType >::write_page(), and stxxl::grow_shrink_stack< StackConfig >::~grow_shrink_stack().
|
inline |
Suspends calling thread until all given requests are completed.
req_array | array of request_ptr objects |
count | size of req_array |
Definition at line 45 of file request_operations.h.
References stxxl::wait_all().
request_iterator_ stxxl::wait_any | ( | request_iterator_ | reqs_begin, |
request_iterator_ | reqs_end | ||
) |
Suspends calling thread until any of requests is completed.
reqs_begin | begin of request sequence to wait for |
reqs_end | end of request sequence to wait for |
Definition at line 107 of file request_operations.h.
References stxxl::onoff_switch::wait_for_on().
Referenced by stxxl::buffered_writer< stxxl::typed_block >::get_free_block(), stxxl::write_pool< BlockType >::steal(), and stxxl::wait_any().
|
inline |
Suspends calling thread until any of requests is completed.
req_array | array of request_ptr objects |
count | size of req_array |
Definition at line 153 of file request_operations.h.
References stxxl::wait_any().