#include <StoreClient.h>

Classes | |
struct | Callback |
Public Member Functions | |
void * | operator new (size_t size) |
void | operator delete (void *address) |
void * | toCbdata () noexcept |
store_client (StoreEntry *) | |
~store_client () | |
bool | memReaderHasLowerOffset (int64_t) const |
int | getType () const |
void | fail () |
void | callback (ssize_t len, bool error=false) |
void | doCopy (StoreEntry *e) |
void | readHeader (const char *buf, ssize_t len) |
void | readBody (const char *buf, ssize_t len) |
void | copy (StoreEntry *, StoreIOBuffer, STCB *, void *) |
void | dumpStats (MemBuf *output, int clientNumber) const |
void | setDelayId (DelayId delay_id) |
Public Attributes | |
int64_t | cmp_offset |
StoreEntry * | entry |
StoreIOState::Pointer | swapin_sio |
struct { | |
bool disk_io_pending | |
bool store_copying | |
bool copy_event_pending | |
} | flags |
DelayId | delayId |
dlink_node | node |
StoreIOBuffer | copyInto |
struct store_client::Callback | _callback |
Private Member Functions | |
bool | moreToSend () const |
Whether there is (or will be) more entry data for us. More... | |
void | fileRead () |
void | scheduleDiskRead () |
void | scheduleMemRead () |
void | scheduleRead () |
bool | startSwapin () |
opens the swapin "file" if possible; otherwise, fail()s and returns false More... | |
bool | unpackHeader (char const *buf, ssize_t len) |
Private Attributes | |
int | type |
bool | object_ok |
Static Private Attributes | |
static cbdata_type | CBDATA_store_client = CBDATA_UNKNOWN |
Detailed Description
Definition at line 57 of file StoreClient.h.
Constructor & Destructor Documentation
◆ store_client()
store_client::store_client | ( | StoreEntry * | e | ) |
Definition at line 197 of file store_client.cc.
References assert, entry, flags, getType(), StoreEntry::hasDisk(), StoreEntry::refcount, STORE_DISK_CLIENT, and StoreEntry::swapoutFailed().
◆ ~store_client()
store_client::~store_client | ( | ) |
Definition at line 218 of file store_client.cc.
Member Function Documentation
◆ callback()
void store_client::callback | ( | ssize_t | len, |
bool | error = false |
||
) |
Definition at line 157 of file store_client.cc.
References _callback, assert, store_client::Callback::callback_data, store_client::Callback::callback_handler, cbdataReferenceDone, cbdataReferenceValid(), cmp_offset, copyInto, StoreIOBuffer::data, error(), StoreIOBuffer::error, StoreIOBuffer::flags, NULL, StoreIOBuffer::offset, store_client::Callback::pending(), and sz.
Referenced by doCopy(), fail(), readBody(), and scheduleMemRead().
◆ copy()
void store_client::copy | ( | StoreEntry * | anEntry, |
StoreIOBuffer | copyRequest, | ||
STCB * | callback_fn, | ||
void * | data | ||
) |
Definition at line 234 of file store_client.cc.
References _callback, assert, cbdataReference, cmp_offset, copyInto, StoreIOBuffer::data, data, debugs, EBIT_TEST, entry, ENTRY_ABORTED, StoreEntry::flags, StoreEntry::getMD5Text(), StoreEntry::kickProducer(), MemObject::kickReads(), StoreIOBuffer::length, StoreEntry::lock(), StoreEntry::mem_obj, StoreIOBuffer::offset, store_client::Callback::pending(), PROF_start, PROF_stop, storeClientCopy2(), and StoreEntry::unlock().
◆ doCopy()
void store_client::doCopy | ( | StoreEntry * | e | ) |
Definition at line 360 of file store_client.cc.
References assert, callback(), copyInto, debugs, MemObject::endOffset(), entry, flags, getType(), HERE(), StoreEntry::mem_obj, moreToSend(), NULL, StoreIOBuffer::offset, scheduleRead(), startSwapin(), STORE_DISK_CLIENT, STORE_PENDING, StoreEntry::store_status, and swapin_sio.
◆ dumpStats()
Definition at line 910 of file store_client.cc.
References _callback, MemBuf::append(), Packable::appendf(), store_client::Callback::callback_data, copyInto, flags, StoreIOBuffer::length, StoreIOBuffer::offset, store_client::Callback::pending(), and PRId64.
Referenced by StoreClientStats::operator()().
◆ fail()
void store_client::fail | ( | ) |
Definition at line 541 of file store_client.cc.
References _callback, callback(), object_ok, and store_client::Callback::pending().
Referenced by readBody(), readHeader(), and startSwapin().
◆ fileRead()
|
private |
Definition at line 479 of file store_client.cc.
References _callback, assert, copyInto, StoreIOBuffer::data, entry, flags, StoreIOBuffer::length, StoreEntry::mem_obj, StoreIOBuffer::offset, StoreIOState::offset(), store_client::Callback::pending(), MemObject::SwapOut::sio, storeClientReadBody, storeClientReadHeader, storeRead(), MemObject::swap_hdr_sz, swapin_sio, MemObject::swapout, and StoreEntry::swappingOut().
Referenced by readHeader(), and scheduleDiskRead().
◆ getType()
int store_client::getType | ( | ) | const |
Definition at line 103 of file store_client.cc.
References type.
Referenced by store_client(), doCopy(), memReaderHasLowerOffset(), and scheduleDiskRead().
◆ memReaderHasLowerOffset()
bool store_client::memReaderHasLowerOffset | ( | int64_t | anOffset | ) | const |
Definition at line 97 of file store_client.cc.
References copyInto, getType(), StoreIOBuffer::offset, and STORE_MEM_CLIENT.
Referenced by LowestMemReader::operator()().
◆ moreToSend()
|
private |
Definition at line 293 of file store_client.cc.
References copyInto, MemObject::endOffset(), entry, StoreEntry::hasDisk(), MemObject::inmem_lo, len, StoreEntry::mem_obj, StoreEntry::objectLen(), StoreIOBuffer::offset, STORE_PENDING, and StoreEntry::store_status.
Referenced by doCopy().
◆ operator delete()
|
inline |
Definition at line 59 of file StoreClient.h.
◆ operator new()
|
inline |
Definition at line 59 of file StoreClient.h.
◆ readBody()
void store_client::readBody | ( | const char * | buf, |
ssize_t | len | ||
) |
Definition at line 501 of file store_client.cc.
References _callback, MemObject::adjustableBaseReply(), assert, MemObject::baseReply(), callback(), Config, copyInto, StoreIOBuffer::data, DBG_CRITICAL, debugs, MemObject::endOffset(), entry, fail(), flags, headersEnd(), MemObject::inmem_lo, len, SquidConfig::maxInMemObjSize, StoreEntry::mem(), StoreEntry::mem_obj, SquidConfig::memory_cache_disk, StoreEntry::objectLen(), StoreIOBuffer::offset, SquidConfig::onoff, Http::Message::parseCharBuf(), store_client::Callback::pending(), Http::scNone, SquidConfig::Store, storeGetMemSpace(), and MemObject::write().
Referenced by readHeader().
◆ readHeader()
void store_client::readHeader | ( | const char * | buf, |
ssize_t | len | ||
) |
Definition at line 611 of file store_client.cc.
References _callback, assert, buf, copyInto, StoreIOBuffer::data, debugs, entry, fail(), fileRead(), flags, len, StoreIOBuffer::length, StoreEntry::mem_obj, min(), object_ok, StoreIOBuffer::offset, store_client::Callback::pending(), readBody(), MemObject::swap_hdr_sz, and unpackHeader().
◆ scheduleDiskRead()
|
private |
Definition at line 446 of file store_client.cc.
References assert, debugs, entry, fileRead(), flags, getType(), NULL, startSwapin(), STORE_DISK_CLIENT, and swapin_sio.
Referenced by scheduleRead().
◆ scheduleMemRead()
|
private |
Definition at line 468 of file store_client.cc.
References callback(), mem_hdr::copy(), copyInto, MemObject::data_hdr, debugs, entry, flags, StoreEntry::mem_obj, and sz.
Referenced by scheduleRead().
◆ scheduleRead()
|
private |
Definition at line 435 of file store_client.cc.
References copyInto, MemObject::endOffset(), entry, MemObject::inmem_lo, StoreEntry::mem_obj, StoreIOBuffer::offset, scheduleDiskRead(), and scheduleMemRead().
Referenced by doCopy().
◆ setDelayId()
void store_client::setDelayId | ( | DelayId | delay_id | ) |
Definition at line 947 of file store_client.cc.
References delayId.
Referenced by Ssl::ServerBump::ServerBump(), clientReplyContext::createStoreEntry(), clientReplyContext::doGetMoreData(), clientReplyContext::processExpired(), clientReplyContext::sendMoreData(), and clientReplyContext::setReplyToStoreEntry().
◆ startSwapin()
|
private |
Definition at line 406 of file store_client.cc.
References DBG_IMPORTANT, debugs, fail(), flags, NULL, storeSwapInStart(), storeTooManyDiskFilesOpen(), and swapin_sio.
Referenced by doCopy(), and scheduleDiskRead().
◆ toCbdata()
|
inlinenoexcept |
Definition at line 59 of file StoreClient.h.
◆ unpackHeader()
|
private |
Definition at line 570 of file store_client.cc.
References assert, buf, StoreMetaUnpacker::createStoreMeta(), DBG_IMPORTANT, debugs, entry, len, StoreEntry::mem_obj, MemObject::object_sz, storeSwapTLVFree(), StoreEntry::swap_file_sz, and MemObject::swap_hdr_sz.
Referenced by readHeader().
Member Data Documentation
◆ _callback
struct store_client::Callback store_client::_callback |
Referenced by callback(), copy(), dumpStats(), fail(), fileRead(), readBody(), and readHeader().
◆ CBDATA_store_client
|
staticprivate |
Definition at line 59 of file StoreClient.h.
◆ cmp_offset
int64_t store_client::cmp_offset |
Definition at line 74 of file StoreClient.h.
Referenced by callback(), and copy().
◆ copy_event_pending
bool store_client::copy_event_pending |
Definition at line 86 of file StoreClient.h.
◆ copyInto
StoreIOBuffer store_client::copyInto |
Definition at line 96 of file StoreClient.h.
Referenced by callback(), copy(), doCopy(), dumpStats(), fileRead(), memReaderHasLowerOffset(), moreToSend(), LowestMemReader::operator()(), readBody(), readHeader(), scheduleMemRead(), and scheduleRead().
◆ delayId
DelayId store_client::delayId |
Definition at line 90 of file StoreClient.h.
Referenced by setDelayId().
◆ disk_io_pending
bool store_client::disk_io_pending |
Definition at line 84 of file StoreClient.h.
◆ entry
StoreEntry* store_client::entry |
Definition at line 80 of file StoreClient.h.
Referenced by store_client(), copy(), doCopy(), fileRead(), moreToSend(), readBody(), readHeader(), scheduleDiskRead(), scheduleMemRead(), scheduleRead(), and unpackHeader().
◆ flags
struct { ... } store_client::flags |
Referenced by store_client(), doCopy(), dumpStats(), fileRead(), readBody(), readHeader(), scheduleDiskRead(), scheduleMemRead(), and startSwapin().
◆ node
dlink_node store_client::node |
Definition at line 94 of file StoreClient.h.
Referenced by MemObject::addClient().
◆ object_ok
|
private |
Definition at line 109 of file StoreClient.h.
Referenced by fail(), and readHeader().
◆ store_copying
bool store_client::store_copying |
Definition at line 85 of file StoreClient.h.
◆ swapin_sio
StoreIOState::Pointer store_client::swapin_sio |
Definition at line 81 of file StoreClient.h.
Referenced by doCopy(), fileRead(), scheduleDiskRead(), and startSwapin().
◆ type
|
private |
Definition at line 108 of file StoreClient.h.
Referenced by getType().
The documentation for this class was generated from the following files:
- src/StoreClient.h
- src/store_client.cc