#include <ControlMatcher.h>
Public Member Functions | |
ControlMatcher (const char *file_var, const char *name, const matcher_tags *tags, int flags_in=(ALLOW_HOST_TABLE|ALLOW_IP_TABLE|ALLOW_REGEX_TABLE|ALLOW_HOST_REGEX_TABLE|ALLOW_URL_TABLE)) | |
~ControlMatcher () | |
int | BuildTable () |
int | BuildTableFromString (char *str) |
void | Match (RequestData *rdata, Result *result) |
void | Print () |
int | getEntryCount () |
HostMatcher< Data, Result > * | getHostMatcher () |
RegexMatcher< Data, Result > * | getReMatcher () |
UrlMatcher< Data, Result > * | getUrlMatcher () |
IpMatcher< Data, Result > * | getIPMatcher () |
HostRegexMatcher< Data, Result > * | getHrMatcher () |
Data Fields | |
RegexMatcher< Data, Result > * | reMatch |
UrlMatcher< Data, Result > * | urlMatch |
HostMatcher< Data, Result > * | hostMatch |
IpMatcher< Data, Result > * | ipMatch |
HostRegexMatcher< Data, Result > * | hrMatch |
const matcher_tags * | config_tags |
char | config_file_path [PATH_NAME_MAX] |
int | flags |
int | m_numEntries |
const char * | matcher_name |
Definition at line 268 of file ControlMatcher.h.
ControlMatcher< Data, Result >::ControlMatcher | ( | const char * | file_var, | |
const char * | name, | |||
const matcher_tags * | tags, | |||
int | flags_in = (ALLOW_HOST_TABLE | ALLOW_IP_TABLE | ALLOW_REGEX_TABLE | ALLOW_HOST_REGEX_TABLE | ALLOW_URL_TABLE) | |||
) |
Definition at line 694 of file ControlMatcher.cc.
References ALLOW_HOST_TABLE, ALLOW_IP_TABLE, ALLOW_REGEX_TABLE, ALLOW_URL_TABLE, ControlMatcher< Data, Result >::BuildTable(), ControlMatcher< Data, Result >::config_file_path, ControlMatcher< Data, Result >::config_tags, DONT_BUILD_TABLE, ControlMatcher< Data, Result >::flags, ControlMatcher< Data, Result >::hostMatch, ControlMatcher< Data, Result >::hrMatch, ink_assert, ink_release_assert, ink_strlcpy(), ControlMatcher< Data, Result >::ipMatch, ControlMatcher< Data, Result >::m_numEntries, ControlMatcher< Data, Result >::matcher_name, RecConfigReadConfigPath(), ControlMatcher< Data, Result >::reMatch, and ControlMatcher< Data, Result >::urlMatch.
ControlMatcher< Data, Result >::~ControlMatcher | ( | ) |
int ControlMatcher< Data, Result >::BuildTable | ( | ) |
Definition at line 957 of file ControlMatcher.cc.
References ats_free(), ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::config_file_path, ControlMatcher< Data, Result >::matcher_name, and readIntoBuffer().
Referenced by ControlMatcher< Data, Result >::ControlMatcher().
int ControlMatcher< Data, Result >::BuildTableFromString | ( | char * | str | ) |
Definition at line 792 of file ControlMatcher.cc.
References ALLOW_EMPTY_TOKS, ALLOW_HOST_REGEX_TABLE, ALLOW_HOST_TABLE, ALLOW_IP_TABLE, ALLOW_REGEX_TABLE, ALLOW_URL_TABLE, ats_free(), ats_malloc(), ControlMatcher< Data, Result >::config_file_path, ControlMatcher< Data, Result >::config_tags, ControlMatcher< Data, Result >::flags, ControlMatcher< Data, Result >::hostMatch, ControlMatcher< Data, Result >::hrMatch, Tokenizer::Initialize(), ink_assert, ControlMatcher< Data, Result >::ipMatch, is_debug_tag_set, Tokenizer::iterFirst(), Tokenizer::iterNext(), matcher_line::line_num, MATCH_DOMAIN, MATCH_HOST, MATCH_HOST_REGEX, MATCH_IP, MATCH_NONE, MATCH_REGEX, MATCH_URL, ControlMatcher< Data, Result >::matcher_name, matcher_line::next, parseConfigLine(), ControlMatcher< Data, Result >::Print(), ControlMatcher< Data, Result >::reMatch, SHARE_TOKS, SignalError, socks_server_tags, matcher_line::type, and ControlMatcher< Data, Result >::urlMatch.
Referenced by ControlMatcher< Data, Result >::BuildTable().
int ControlMatcher< Data, Result >::getEntryCount | ( | ) | [inline] |
Definition at line 281 of file ControlMatcher.h.
HostMatcher<Data, Result>* ControlMatcher< Data, Result >::getHostMatcher | ( | ) | [inline] |
Definition at line 282 of file ControlMatcher.h.
HostRegexMatcher<Data, Result>* ControlMatcher< Data, Result >::getHrMatcher | ( | ) | [inline] |
Definition at line 286 of file ControlMatcher.h.
IpMatcher<Data, Result>* ControlMatcher< Data, Result >::getIPMatcher | ( | ) | [inline] |
Definition at line 285 of file ControlMatcher.h.
RegexMatcher<Data, Result>* ControlMatcher< Data, Result >::getReMatcher | ( | ) | [inline] |
Definition at line 283 of file ControlMatcher.h.
UrlMatcher<Data, Result>* ControlMatcher< Data, Result >::getUrlMatcher | ( | ) | [inline] |
Definition at line 284 of file ControlMatcher.h.
void ControlMatcher< Data, Result >::Match | ( | RequestData * | rdata, | |
Result * | result | |||
) |
Definition at line 766 of file ControlMatcher.cc.
References RequestData::get_ip(), ControlMatcher< Data, Result >::hostMatch, ControlMatcher< Data, Result >::hrMatch, ControlMatcher< Data, Result >::ipMatch, ControlMatcher< Data, Result >::reMatch, and ControlMatcher< Data, Result >::urlMatch.
Referenced by CongestionControlled(), ParentConfigParams::findParent(), getCacheControl(), and getClusterCacheLocal().
void ControlMatcher< Data, Result >::Print | ( | ) |
Definition at line 740 of file ControlMatcher.cc.
References ControlMatcher< Data, Result >::hostMatch, ControlMatcher< Data, Result >::hrMatch, ControlMatcher< Data, Result >::ipMatch, ControlMatcher< Data, Result >::matcher_name, ControlMatcher< Data, Result >::reMatch, and ControlMatcher< Data, Result >::urlMatch.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), SocksServerConfig::print(), ParentConfig::print(), and CongestionMatcherTable::reconfigure().
char ControlMatcher< Data, Result >::config_file_path[PATH_NAME_MAX] |
Definition at line 295 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTable(), ControlMatcher< Data, Result >::BuildTableFromString(), and ControlMatcher< Data, Result >::ControlMatcher().
const matcher_tags* ControlMatcher< Data, Result >::config_tags |
Definition at line 294 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), and ControlMatcher< Data, Result >::ControlMatcher().
int ControlMatcher< Data, Result >::flags |
Definition at line 296 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), and ControlMatcher< Data, Result >::ControlMatcher().
HostMatcher<Data, Result>* ControlMatcher< Data, Result >::hostMatch |
Definition at line 291 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), ControlMatcher< CongestionControlRecord, CongestionControlRule >::getHostMatcher(), HttpTransact::HandleRequest(), host_rule_in_CacheControlTable(), ControlMatcher< Data, Result >::Match(), HttpTransact::OSDNSLookup(), ControlMatcher< Data, Result >::Print(), and ControlMatcher< Data, Result >::~ControlMatcher().
HostRegexMatcher<Data, Result>* ControlMatcher< Data, Result >::hrMatch |
Definition at line 293 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), ControlMatcher< CongestionControlRecord, CongestionControlRule >::getHrMatcher(), ControlMatcher< Data, Result >::Match(), ControlMatcher< Data, Result >::Print(), and ControlMatcher< Data, Result >::~ControlMatcher().
IpMatcher<Data, Result>* ControlMatcher< Data, Result >::ipMatch |
Definition at line 292 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), ControlMatcher< CongestionControlRecord, CongestionControlRule >::getIPMatcher(), HttpSM::init(), ip_rule_in_CacheControlTable(), ControlMatcher< Data, Result >::Match(), ControlMatcher< Data, Result >::Print(), SocksServerConfig::reconfigure(), and ControlMatcher< Data, Result >::~ControlMatcher().
int ControlMatcher< Data, Result >::m_numEntries |
Definition at line 297 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::ControlMatcher(), and ControlMatcher< CongestionControlRecord, CongestionControlRule >::getEntryCount().
const char* ControlMatcher< Data, Result >::matcher_name |
Definition at line 298 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTable(), ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), and ControlMatcher< Data, Result >::Print().
RegexMatcher<Data, Result>* ControlMatcher< Data, Result >::reMatch |
Definition at line 289 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), ControlMatcher< CongestionControlRecord, CongestionControlRule >::getReMatcher(), ControlMatcher< Data, Result >::Match(), ControlMatcher< Data, Result >::Print(), and ControlMatcher< Data, Result >::~ControlMatcher().
UrlMatcher<Data, Result>* ControlMatcher< Data, Result >::urlMatch |
Definition at line 290 of file ControlMatcher.h.
Referenced by ControlMatcher< Data, Result >::BuildTableFromString(), ControlMatcher< Data, Result >::ControlMatcher(), ControlMatcher< CongestionControlRecord, CongestionControlRule >::getUrlMatcher(), ControlMatcher< Data, Result >::Match(), ControlMatcher< Data, Result >::Print(), and ControlMatcher< Data, Result >::~ControlMatcher().