14 #ifndef STXXL_IO_LINUXAIO_REQUEST_HEADER
15 #define STXXL_IO_LINUXAIO_REQUEST_HEADER
19 #if STXXL_HAVE_LINUXAIO_FILE
21 #include <linux/aio_abi.h>
24 #define STXXL_VERBOSE_LINUXAIO(msg) STXXL_VERBOSE2(msg)
34 template <
class base_file_type>
40 void fill_control_block();
52 assert(dynamic_cast<linuxaio_file*>(file));
54 " linuxaio_request" <<
55 "(file=" << file <<
" buffer=" << buffer <<
56 " offset=" << offset <<
" bytes=" << bytes <<
57 " type=" << type <<
")");
63 void completed(
bool posted,
bool canceled);
71 #endif // #if STXXL_HAVE_LINUXAIO_FILE
73 #endif // !STXXL_IO_LINUXAIO_REQUEST_HEADER
Completion handler class (Loki-style).
iocb cb
control block of async request
Request with completion state.
Defines interface of file.
#define STXXL_VERBOSE_LINUXAIO(msg)
#define STXXL_BEGIN_NAMESPACE
void completed(bool canceled)
Implementation of file based on other files, dynamically allocate one file per block. Allows for dynamic disk space consumption.
stxxl::internal_size_type size_type
static const size_t bytes
number of bytes in uint_pair
stxxl::external_size_type offset_type
linuxaio_request(const completion_handler &on_cmpl, file *file, void *buffer, offset_type offset, size_type bytes, request_type type)
Request for an linuxaio_file.
#define STXXL_END_NAMESPACE