15 #ifndef FOXXLL_IO_REQUEST_INTERFACE_HEADER 16 #define FOXXLL_IO_REQUEST_INTERFACE_HEADER 52 virtual void completed(
bool canceled) = 0;
65 virtual void wait(
bool measure_time =
true) = 0;
81 virtual bool poll() = 0;
89 virtual const char *
io_type()
const = 0;
92 virtual std::ostream &
print(std::ostream& out)
const = 0;
99 #endif // !FOXXLL_IO_REQUEST_INTERFACE_HEADER request_interface & operator=(const request_interface &)=delete
non-copyable: delete assignment operator
uint64_t offset_type
type for offsets within a file
virtual bool cancel()=0
Cancel a request.
request_interface()=default
virtual void notify_waiters()=0
size_t size_type
type for block transfer sizes
virtual void wait(bool measure_time=true)=0
Suspends calling thread until completion of the request.
virtual std::ostream & print(std::ostream &out) const =0
Dumps properties of a request.
virtual void completed(bool canceled)=0
virtual bool add_waiter(onoff_switch *sw)=0
virtual void delete_waiter(onoff_switch *sw)=0
virtual ~request_interface()
virtual const char * io_type() const =0
Identifies the type of I/O implementation.