15 #ifndef STXXL_IO_REQUEST_HEADER
16 #define STXXL_IO_REQUEST_HEADER
33 #define STXXL_BLOCK_ALIGN 4096
61 virtual ~
request() noexcept(false);
63 file * get_file()
const {
return m_file; }
69 void check_alignment()
const;
71 std::ostream & print(std::ostream& out)
const;
91 throw *(m_error.get());
94 virtual const char * io_type()
const;
99 if (get_reference_count() < 2)
100 check_nref_failed(after);
104 void check_nref_failed(
bool after);
109 return req.
print(out);
119 #endif // !STXXL_IO_REQUEST_HEADER
friend std::ostream & operator<<(std::ostream &os, const uint_pair &a)
make a uint_pair outputtable via iostreams, using unsigned long long.
Completion handler class (Loki-style).
void error_occured(const std::string &msg)
Inform the request object that an error occurred during the I/O execution.
completion_handler m_on_complete
Provides reference counting abilities for use with counting_ptr with mutex locking.
offset_type get_offset() const
std::auto_ptr< Type > result
counting_ptr< request > request_ptr
A reference counting pointer for request.
Defines interface of file.
void check_nref(bool after=false)
compat_unique_ptr< stxxl::io_error >::result m_error
#define STXXL_BEGIN_NAMESPACE
size_type get_size() const
void check_errors()
Rises an exception if there were error with the I/O.
stxxl::internal_size_type size_type
Functional interface of a request.
request_type get_type() const
std::ostream & print(std::ostream &out) const
Dumps properties of a request.
void * get_buffer() const
static const size_t bytes
number of bytes in uint_pair
stxxl::external_size_type offset_type
Request object encapsulating basic properties like file and offset.
void error_occured(const char *msg)
Inform the request object that an error occurred during the I/O execution.
Queue for linuxaio_file(s)
#define STXXL_END_NAMESPACE