#include "squid.h"
#include "DiskThreads.h"
#include "DiskThreadsIOStrategy.h"
#include "fde.h"
#include "Generic.h"
#include "Store.h"
Go to the source code of this file.
Classes | |
struct | squidaio_unlinkq_t |
Typedefs | |
typedef struct squidaio_unlinkq_t | squidaio_unlinkq_t |
Functions | |
void | aioOpen (const char *path, int oflag, mode_t mode, AIOCB *callback, void *callback_data) |
void | aioClose (int fd) |
void | aioCancel (int fd) |
void | aioWrite (int fd, off_t offset, char *bufp, size_t len, AIOCB *callback, void *callback_data, FREE *free_func) |
void | aioRead (int fd, off_t offset, size_t len, AIOCB *callback, void *callback_data) |
void | aioStat (char *path, struct stat *sb, AIOCB *callback, void *callback_data) |
void | aioUnlink (const char *path, AIOCB *callback, void *callback_data) |
int | aioQueueSize (void) |
Variables | |
AIOCounts | squidaio_counts |
dlink_list | used_list |
Typedef Documentation
◆ squidaio_unlinkq_t
typedef struct squidaio_unlinkq_t squidaio_unlinkq_t |
Function Documentation
◆ aioCancel()
void aioCancel | ( | int | fd | ) |
Definition at line 66 of file async_io.cc.
References _AIO_READ, assert, squidaio_ctrl_t::bufp, AIOCounts::cancel, cbdataReferenceValidDone, dlink_node::data, DBG_IMPORTANT, debugs, dlinkDelete(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, squidaio_ctrl_t::free_func, dlink_list::head, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::len, squidaio_unlinkq_t::next, dlink_node::next, squidaio_ctrl_t::operation, squidaio_ctrl_t::result, squidaio_cancel(), squidaio_counts, squidaio_xfree(), and used_list.
Referenced by aioClose(), and DiskThreadsDiskFile::doClose().
◆ aioClose()
void aioClose | ( | int | fd | ) |
Definition at line 47 of file async_io.cc.
References _AIO_CLOSE, aioCancel(), assert, AIOCounts::close_start, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::node, squidaio_ctrl_t::operation, squidaio_ctrl_t::result, squidaio_close(), squidaio_counts, and used_list.
Referenced by DiskThreadsIOStrategy::callback(), and DiskThreadsDiskFile::doClose().
◆ aioOpen()
Definition at line 29 of file async_io.cc.
References _AIO_OPEN, assert, cbdataReference, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::node, AIOCounts::open_start, squidaio_ctrl_t::operation, squidaio_unlinkq_t::path, squidaio_ctrl_t::result, squidaio_counts, squidaio_open(), and used_list.
Referenced by DiskThreadsDiskFile::create(), and DiskThreadsDiskFile::open().
◆ aioQueueSize()
int aioQueueSize | ( | void | ) |
Definition at line 199 of file async_io.cc.
Referenced by DiskThreadsIOStrategy::load(), and DiskThreadsIOStrategy::shedLoad().
◆ aioRead()
Definition at line 135 of file async_io.cc.
References _AIO_READ, assert, squidaio_ctrl_t::bufp, cbdataReference, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::len, squidaio_ctrl_t::node, squidaio_ctrl_t::operation, AIOCounts::read_start, squidaio_ctrl_t::result, squidaio_counts, squidaio_read(), squidaio_xmalloc(), and used_list.
Referenced by DiskThreadsDiskFile::read().
◆ aioStat()
void aioStat | ( | char * | path, |
struct stat * | sb, | ||
AIOCB * | callback, | ||
void * | callback_data | ||
) |
Definition at line 165 of file async_io.cc.
References _AIO_STAT, assert, cbdataReference, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::node, squidaio_ctrl_t::operation, squidaio_unlinkq_t::path, squidaio_ctrl_t::result, sb, squidaio_counts, squidaio_stat(), AIOCounts::stat_start, and used_list.
◆ aioUnlink()
void aioUnlink | ( | const char * | path, |
AIOCB * | callback, | ||
void * | callback_data | ||
) |
Definition at line 183 of file async_io.cc.
References _AIO_UNLINK, assert, cbdataReference, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::node, squidaio_ctrl_t::operation, squidaio_unlinkq_t::path, squidaio_ctrl_t::result, squidaio_counts, squidaio_unlink(), AIOCounts::unlink_start, and used_list.
Referenced by DiskThreadsIOStrategy::unlinkFile().
◆ aioWrite()
void aioWrite | ( | int | fd, |
off_t | offset, | ||
char * | bufp, | ||
size_t | len, | ||
AIOCB * | callback, | ||
void * | callback_data, | ||
FREE * | free_func | ||
) |
Definition at line 107 of file async_io.cc.
References _AIO_WRITE, assert, squidaio_ctrl_t::bufp, cbdataReference, squidaio_result_t::data, dlinkAdd(), squidaio_ctrl_t::done_handler, squidaio_ctrl_t::done_handler_data, squidaio_ctrl_t::fd, squidaio_ctrl_t::free_func, DiskThreadsIOStrategy::Instance, squidaio_ctrl_t::node, squidaio_ctrl_t::operation, squidaio_ctrl_t::result, squidaio_counts, squidaio_write(), used_list, and AIOCounts::write_start.
Referenced by DiskThreadsDiskFile::write().
Variable Documentation
◆ squidaio_counts
AIOCounts squidaio_counts |
Definition at line 18 of file async_io.cc.
Referenced by aioCancel(), aioClose(), aioOpen(), aioRead(), aioStat(), DiskThreadsIOStrategy::aioStats(), aioUnlink(), aioWrite(), and DiskThreadsIOStrategy::callback().
◆ used_list
dlink_list used_list |
Definition at line 26 of file async_io.cc.
Referenced by aioCancel(), aioClose(), aioOpen(), aioRead(), aioStat(), aioUnlink(), aioWrite(), and DiskThreadsIOStrategy::callback().