31 #ifdef FOXXLL_CHECK_BLOCK_ALIGNING 44 <<
"serving_request[" <<
static_cast<void*
>(
this) <<
"]::serve(): " 47 << std::hex << std::setfill(
'0') << std::setw(8)
Request with completion shared_state.
virtual int get_allocator_id() const =0
Returns the file's parallel disk block allocator number.
uint64_t offset_type
type for offsets within a file
offset_type offset_
offset within file
serving_request(const completion_handler &on_complete, file *file, void *buffer, offset_type offset, size_type bytes, read_or_write op)
virtual const char * io_type() const =0
const char * io_type() const final
Identifies the type of I/O implementation.
file * file_
file implementation to perform I/O with
size_type bytes_
number of bytes at buffer_ to transfer
size_t size_type
type for block transfer sizes
void * buffer_
data buffer to transfer
void completed(bool canceled) override
virtual void serve(void *buffer, offset_type offset, size_type bytes, request::read_or_write op)=0
static const size_t bytes
number of bytes in uint_pair
void check_alignment() const
bool need_alignment() const
Returns need_alignment_.
void check_nref(bool after=false)
void error_occured(const char *msg)
#define TLX_LOG
Default logging method: output if the local debug variable is true.
read_or_write op_
READ or WRITE.