15 #ifndef STXXL_IO_DISK_QUEUES_HEADER
16 #define STXXL_IO_DISK_QUEUES_HEADER
54 #ifdef STXXL_HACK_SINGLE_IO_THREAD
57 if (queues.find(disk) == queues.end())
62 queues[disk]->add_request(req);
75 #ifdef STXXL_HACK_SINGLE_IO_THREAD
78 if (queues.find(disk) != queues.end())
79 return queues[disk]->cancel_request(req);
87 for (request_queue_map::iterator i = queues.begin(); i != queues.end(); i++)
98 for (request_queue_map::iterator i = queues.begin(); i != queues.end(); i++)
99 i->second->set_priority_op(op);
107 #endif // !STXXL_IO_DISK_QUEUES_HEADER
request_queue_impl_qwqr request_queue_type
void set_priority_op(request_queue::priority_op op)
Changes requests priorities.
Encapsulates disk queues.
void add_request(request_ptr &req, DISKID disk)
static instance_pointer get_instance()
#define STXXL_BEGIN_NAMESPACE
std::map< DISKID, request_queue_type * > request_queue_map
bool cancel_request(request_ptr &req, DISKID disk)
Cancel a request. The specified request is canceled unless already being processed. However, cancelation cannot be guaranteed. Cancelled requests must still be waited for in order to ensure correct operation.
#define STXXL_END_NAMESPACE