Data Structures | Defines | Typedefs | Functions | Variables

CacheControl.cc File Reference

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"
Include dependency graph for CacheControl.cc:

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< ProxyMutexreconfig_mutex
CC_tableCacheControlTable = NULL

Detailed Description

A brief file description.

License

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 Documentation

#define TWEAK_CACHE_RESPONSES_TO_COOKIES   "cache-responses-to-cookies"

Typedef Documentation

typedef int(CC_FreerContinuation::* CC_FreerContHandler)(int, void *)

Definition at line 87 of file CacheControl.cc.

Definition at line 70 of file CacheControl.cc.


Function Documentation

int cacheControlFile_CB ( const char *  ,
RecDataT  ,
RecData  ,
void *   
)

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 
)
bool getClusterCacheLocal ( URL url,
char *   
)
bool host_rule_in_CacheControlTable (  ) 

Definition at line 136 of file CacheControl.cc.

References ControlMatcher< Data, Result >::hostMatch.

void initCacheControl (  ) 
bool ip_rule_in_CacheControlTable (  ) 

Definition at line 142 of file CacheControl.cc.

References ControlMatcher< Data, Result >::ipMatch.

Referenced by HttpSM::init().

void reloadCacheControl (  ) 

Variable Documentation

Definition at line 74 of file CacheControl.cc.

const char* CC_directive_str[CC_NUM_TYPES] [static]
Initial value:
 {
  "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().

Definition at line 73 of file CacheControl.cc.