API functions
void TSHttpTxnReqCacheableSet
(TSHttpTxn txnp, int flag)
Set a flag that marks a request as cacheable. This is a positive override only, setting flag to 0
restores the default behavior, it does not force the request to be uncacheable.
TSReturnCode TSCacheUrlSet
(TSHttpTxn txnp, char const* url, int length)
Set the cache key for the transaction txnp as the string pointed at by url of length characters. It need not be NUL-terminated. This should be called from TS_HTTP_READ_REQUEST_HDR_HOOK
which is before cache lookup but late enough that the HTTP request header is available.
The APIs that modify the cache key can be called as early as TS_HTTP_READ_REQUEST_HDR_HOOK
but no later than TS_HTTP_POST_REMAP_HOOK
. The cache key is not only used for a cache lookup before going to origin, but also to mark the intent to write to cache on an origin response (if possible).
Cache Internals
int DIR_SIZE_WITH_BLOCK
(int big)
A preprocessor macro which computes the maximum size of a fragment based on the value of big. This is computed as if the argument where the value of the big field in a struct Dir
.
int DIR_BLOCK_SIZE
(int big)
A preprocessor macro which computes the block size multiplier for a struct Dir
where big is the big field value.