Core Cache¶
Core Cache Types¶
-
type
span_diskid_t
¶ Stores a 16 byte ID.
-
class
CacheKey
¶ The hash value for a cache object. Currently a 128 bit MD5 hash.
-
class
EvacuationBlock
¶ A range of content to be evacuated.
-
class
CacheProcessor
¶ The singleton cache management object. This handles threads and global initialization for the cache.
-
class
Span
¶ Span
models a cache span. This is a contiguous span of storage.-
int64_t
blocks
¶ Number of storage blocks in the span. See
STORE_BLOCK_SIZE
.
-
int64_t
offset
¶ Offset (in bytes)_ to the start of the span. This is used only if the base storage is a file.
-
span_diskid_t
disk_id
¶ No idea what this is.
-
int64_t
-
class
Store
¶ A singleton containing all of the cache storage description.
-
unsigned
n_disks_in_config
¶ The number of distinct devices in the configuration.
-
unsigned
n_disks
¶ The number of valid and distinct devices in the configuration.
-
char *
read_config
()¶ Read
storage.config
and initialize the base state of the instance. The return value isnullptr
on success and a nul-terminated error string on error.
-
unsigned
Core Cache Functions¶
-
int
dir_probe
(const CacheKey *key, Vol *d, Dir *result, Dir **last_collision)¶ Probe the stripe directory for a candidate directory entry.
-
void
build_vol_hash_table
(CacheHostRecord *r)¶ Based on the configuration record r, construct the global stripe assignment table.
-
int
cplist_reconfigure
()¶ Rebuild the assignment of stripes to volumes.
-
void
ink_cache_init
(ModuleVersion v)¶ Top level cache initialization logic.