|
STXXL
1.4.0
|
Group of classes which enable abstraction from operating system calls and support system-independent interfaces for asynchronous I/O. More...
Collaboration diagram for I/O Primitives Layer: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().