36 TLX_LOG <<
"request_with_state[" <<
static_cast<void*
>(
this) <<
"]::wait()";
48 TLX_LOG <<
"request_with_state[" <<
static_cast<void*
>(
this) <<
"]::cancel() " 51 if (!
file_)
return false;
80 TLX_LOG <<
"request_with_state[" <<
static_cast<void*
>(
this) <<
"]::completed()";
void notify_waiters() final
offset_type offset_
offset within file
void set_to(const value_type &new_state)
file * file_
file implementation to perform I/O with
bool cancel() override
Cancel a request.
void * buffer_
data buffer to transfer
void delete_request_ref()
decrement referenced requests
virtual int get_queue_id() const =0
void completed(bool canceled) override
void check_errors()
Rises an exception if there were error with the I/O.
size_t reference_count() const noexcept
Return the number of references to this object (for debugging)
static instance_pointer get_instance()
return instance or create base instance if empty
virtual ~request_with_state()
High-performance smart pointer used as a wrapping reference counting pointer.
completion_handler on_complete_
void release_file_reference()
void wait_for(const value_type &needed_state)
shared_state< request_state > state_
void wait(bool measure_time=true) final
Suspends calling thread until completion of the request.
#define TLX_LOG
Default logging method: output if the local debug variable is true.
read_or_write op_
READ or WRITE.