MySQL 8.4.0
Source Code Documentation
Slot Struct Reference

The asynchronous I/O context. More...

Public Member Functions

bool is_read () const
 
 Slot ()
 
std::string to_json () const noexcept
 Serialize the object into JSON format. More...
 
std::ostream & print (std::ostream &out) const noexcept
 Print this object into the given output stream. More...
 

Public Attributes

uint16_t pos {0}
 Default constructor/assignment etc. More...
 
bool is_reserved {false}
 true if this slot is reserved More...
 
std::chrono::steady_clock::time_point reservation_time
 time when reserved More...
 
bytebuf {nullptr}
 buffer used in i/o More...
 
byteptr {nullptr}
 Buffer pointer used for actual IO. More...
 
IORequest type {IORequest::UNSET}
 OS_FILE_READ or OS_FILE_WRITE. More...
 
os_offset_t offset {0}
 file offset in bytes More...
 
pfs_os_file_t file
 file where to read or write More...
 
const char * name {nullptr}
 file name or path More...
 
bool io_already_done {false}
 used only in simulated aio: true if the physical i/o already made and only the slot message needs to be passed to the caller of os_aio_simulated_handler More...
 
fil_node_tm1 {nullptr}
 The file node for which the IO is requested. More...
 
void * m2 {nullptr}
 the requester of an aio operation and which can be used to identify which pending aio operation was completed More...
 
dberr_t err {DB_ERROR_UNSET}
 AIO completion status. More...
 
ulint len {0}
 length of the block to read or write More...
 
ulint n_bytes {0}
 bytes written/read. More...
 
file::Blockbuf_block {nullptr}
 Buffer block for compressed pages or encrypted pages. More...
 
bool skip_punch_hole {false}
 true, if we shouldn't punch a hole after writing the page More...
 

Detailed Description

The asynchronous I/O context.

Constructor & Destructor Documentation

◆ Slot()

Slot::Slot ( )
inline

Member Function Documentation

◆ is_read()

bool Slot::is_read ( ) const
inline

◆ print()

std::ostream & Slot::print ( std::ostream &  out) const
noexcept

Print this object into the given output stream.

Returns
the output stream into which object was printed.

◆ to_json()

std::string Slot::to_json ( ) const
noexcept

Serialize the object into JSON format.

Returns
the object in JSON format.

Member Data Documentation

◆ buf

byte* Slot::buf {nullptr}

buffer used in i/o

◆ buf_block

file::Block* Slot::buf_block {nullptr}

Buffer block for compressed pages or encrypted pages.

◆ err

dberr_t Slot::err {DB_ERROR_UNSET}

AIO completion status.

◆ file

pfs_os_file_t Slot::file
Initial value:
{
IF_WIN(nullptr, 0)
}
#define IF_WIN(A, B)
Definition: my_macros.h:38

file where to read or write

◆ io_already_done

bool Slot::io_already_done {false}

used only in simulated aio: true if the physical i/o already made and only the slot message needs to be passed to the caller of os_aio_simulated_handler

◆ is_reserved

bool Slot::is_reserved {false}

true if this slot is reserved

◆ len

ulint Slot::len {0}

length of the block to read or write

◆ m1

fil_node_t* Slot::m1 {nullptr}

The file node for which the IO is requested.

◆ m2

void* Slot::m2 {nullptr}

the requester of an aio operation and which can be used to identify which pending aio operation was completed

◆ n_bytes

ulint Slot::n_bytes {0}

bytes written/read.

◆ name

const char* Slot::name {nullptr}

file name or path

◆ offset

os_offset_t Slot::offset {0}

file offset in bytes

◆ pos

uint16_t Slot::pos {0}

Default constructor/assignment etc.

are OK index of the slot in the aio array

◆ ptr

byte* Slot::ptr {nullptr}

Buffer pointer used for actual IO.

We advance this when partial IO is required and not buf

◆ reservation_time

std::chrono::steady_clock::time_point Slot::reservation_time

time when reserved

◆ skip_punch_hole

bool Slot::skip_punch_hole {false}

true, if we shouldn't punch a hole after writing the page

◆ type

OS_FILE_READ or OS_FILE_WRITE.


The documentation for this struct was generated from the following file: