A brief file description. More...
#include "ink_config.h"
#include <sys/types.h>
#include <pcre.h>
#include "CacheControl.h"
#include "ControlMatcher.h"
#include "Main.h"
#include "Error.h"
#include "P_EventSystem.h"
#include "ProxyConfig.h"
#include "HTTP.h"
#include "HttpConfig.h"
#include "StatSystem.h"
#include "P_Cache.h"
Go to the source code of this file.
Data Structures | |
struct | CC_FreerContinuation |
struct | CC_UpdateContinuation |
Defines | |
#define | TWEAK_CACHE_RESPONSES_TO_COOKIES "cache-responses-to-cookies" |
Typedefs | |
typedef ControlMatcher < CacheControlRecord, CacheControlResult > | CC_table |
typedef int(CC_FreerContinuation::* | CC_FreerContHandler )(int, void *) |
Functions | |
void | CC_delete_table () |
int | cacheControlFile_CB (const char *, RecDataT, RecData, void *) |
bool | host_rule_in_CacheControlTable () |
bool | ip_rule_in_CacheControlTable () |
void | initCacheControl () |
void | reloadCacheControl () |
void | getCacheControl (CacheControlResult *result, HttpRequestData *rdata, OverridableHttpConfigParams *h_txn_conf, char *tag) |
bool | getClusterCacheLocal (URL *url, char *) |
Variables | |
static const char | modulePrefix [] = "[CacheControl]" |
static const char * | CC_directive_str [CC_NUM_TYPES] |
static Ptr< ProxyMutex > | reconfig_mutex |
CC_table * | CacheControlTable = NULL |
A brief file description.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file CacheControl.cc.
#define TWEAK_CACHE_RESPONSES_TO_COOKIES "cache-responses-to-cookies" |
Definition at line 54 of file CacheControl.cc.
Referenced by CacheControlRecord::Init(), CacheControlRecord::Print(), and CacheControlRecord::UpdateMatch().
typedef int(CC_FreerContinuation::* CC_FreerContHandler)(int, void *) |
Definition at line 87 of file CacheControl.cc.
Definition at line 70 of file CacheControl.cc.
Definition at line 125 of file CacheControl.cc.
References ET_CACHE, eventProcessor, and EventProcessor::schedule_imm().
Referenced by initCacheControl().
void CC_delete_table | ( | ) |
Definition at line 77 of file CacheControl.cc.
void getCacheControl | ( | CacheControlResult * | result, | |
HttpRequestData * | rdata, | |||
OverridableHttpConfigParams * | h_txn_conf, | |||
char * | tag | |||
) |
Definition at line 174 of file CacheControl.cc.
References OverridableHttpConfigParams::cache_cluster_cache_local, OverridableHttpConfigParams::cache_ignore_client_cc_max_age, OverridableHttpConfigParams::cache_ignore_client_no_cache, OverridableHttpConfigParams::cache_ignore_server_no_cache, CacheControlResult::cluster_cache_local, CacheControlResult::ignore_client_cc_max_age, CacheControlResult::ignore_client_no_cache, CacheControlResult::ignore_server_no_cache, ControlMatcher< Data, Result >::Match(), and HttpRequestData::tag.
Referenced by update_cache_control_information_from_config().
bool getClusterCacheLocal | ( | URL * | url, | |
char * | ||||
) |
Definition at line 197 of file CacheControl.cc.
References HTTPHdr::clear(), CacheControlResult::cluster_cache_local, HTTPHdr::create(), HttpRequestData::hdr, HTTP_TYPE_REQUEST, ControlMatcher< Data, Result >::Match(), and HTTPHdr::url_set().
Referenced by ShowCache::delete_url(), and ShowCache::lookup_url().
bool host_rule_in_CacheControlTable | ( | ) |
Definition at line 136 of file CacheControl.cc.
References ControlMatcher< Data, Result >::hostMatch.
void initCacheControl | ( | ) |
Definition at line 148 of file CacheControl.cc.
References cacheControlFile_CB(), http_dest_tags, ink_assert, modulePrefix, new_ProxyMutex(), and REC_RegisterConfigUpdateFunc.
Referenced by main().
bool ip_rule_in_CacheControlTable | ( | ) |
Definition at line 142 of file CacheControl.cc.
References ControlMatcher< Data, Result >::ipMatch.
Referenced by HttpSM::init().
void reloadCacheControl | ( | ) |
Definition at line 163 of file CacheControl.cc.
References CACHE_CONTROL_TIMEOUT, Debug, ET_CACHE, eventProcessor, http_dest_tags, modulePrefix, and EventProcessor::schedule_in().
Referenced by CC_UpdateContinuation::file_update_handler().
CC_table* CacheControlTable = NULL |
Definition at line 74 of file CacheControl.cc.
const char* CC_directive_str[CC_NUM_TYPES] [static] |
{ "INVALID", "REVALIDATE_AFTER", "NEVER_CACHE", "STANDARD_CACHE", "IGNORE_NO_CACHE", "CLUSTER_CACHE_LOCAL", "IGNORE_CLIENT_NO_CACHE", "IGNORE_SERVER_NO_CACHE", "PIN_IN_CACHE", "TTL_IN_CACHE" }
Definition at line 56 of file CacheControl.cc.
Referenced by CacheControlRecord::Print(), and CacheControlRecord::UpdateMatch().
const char modulePrefix[] = "[CacheControl]" [static] |
Definition at line 52 of file CacheControl.cc.
Referenced by CacheControlRecord::Init(), initCacheControl(), and reloadCacheControl().
Ptr<ProxyMutex> reconfig_mutex [static] |
Definition at line 73 of file CacheControl.cc.