SwapMetaIn.cc
Go to the documentation of this file.
119 // XXX: ensure all Squid URL inputs are properly normalized then use case-sensitive compare here
211 Store::SwapMetaUnpacker::SwapMetaUnpacker(const char * const buf, const ssize_t size, size_t &swap_hdr_sz)
280 static_assert(offsetof(old_metahdr, flags) + sizeof(old_metahdr::flags) == STORE_HDR_METASIZE_OLD, "we reproduced old swap meta basics format");
static void CheckSwapMetaUrl(const SwapMetaView &meta, const StoreEntry &entry)
validates serialized STORE_META_URL swap meta field
Definition: SwapMetaIn.cc:105
void UnpackHitSwapMeta(char const *, ssize_t, StoreEntry &)
deserializes entry metadata from the given buffer into the cache hit entry
Definition: SwapMetaIn.cc:310
static void CheckSwapMetaKey(const SwapMetaView &meta, const StoreEntry &entry)
validates serialized STORE_META_KEY_MD5 swap meta field
Definition: SwapMetaIn.cc:73
SwapMetaUnpacker(const char *buf, ssize_t bufferLength, size_t &swap_hdr_sz)
Definition: SwapMetaIn.cc:211
std::forward_iterator_tag iterator_category
Definition: SwapMetaIn.cc:30
static SBuf UnpackNewSwapMetaVaryHeaders(const SwapMetaView &meta, const StoreEntry &entry)
deserializes STORE_META_VARY_HEADERS swap meta field
Definition: SwapMetaIn.cc:130
void checkExpectedLength(size_t) const
ensures that our fixed-size field value has the given expected length
Definition: SwapMetaView.cc:83
SwapMetaIterator(const void *start, const void *end)
positions iterator at the start of a swap meta field extending up to end
Definition: SwapMetaIn.cc:176
bool operator==(const SwapMetaIterator &them) const
Definition: SwapMetaIn.cc:42
bool operator!=(const SwapMetaIterator &them) const
Definition: SwapMetaIn.cc:43
a swap metadata field inside the buffer given to SwapMetaUnpacker
Definition: SwapMetaView.h:20
Definition: MemBuf.h:23
static void UnpackSwapMetaKey(const SwapMetaView &meta, cache_key *key)
deserializes STORE_META_KEY_MD5 swap meta field
Definition: SwapMetaIn.cc:95
static size_t UnpackPrefix(const char *const buf, const size_t size)
Definition: SwapMetaIn.cc:151
void SwapMetaExtract(Item &item, const char *&input, const void *end)
Definition: SwapMetaView.h:68
SBuf & trim(const SBuf &toRemove, bool atBeginning=true, bool atEnd=true)
Definition: SBuf.cc:551
Definition: Store.h:37
Store entry metadata view providing a for-range loop meta field iterator API.
Definition: SwapMetaIn.cc:54
SBuf ToSBuf(Args &&... args)
slowly stream-prints all arguments into a freshly allocated SBuf
Definition: Stream.h:63
size_t UnpackIndexSwapMeta(const MemBuf &, StoreEntry &, cache_key *)
Definition: SwapMetaIn.cc:243
Definition: SquidConfig.h:62
iterates serialized swap meta fields loaded into a given buffer
Definition: SwapMetaIn.cc:26
constexpr bool Less(const A a, const B b)
whether integer a is less than integer b, with correct overflow handling
Definition: SquidMath.h:48
const auto SwapMetaPrefixSize
The size of the initial (and required) portion of any swap metadata.
Definition: SwapMeta.h:122
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products