Data Structures | Defines | Functions | Variables

HttpConfig.cc File Reference

A brief file description. More...

#include "ink_config.h"
#include <ctype.h>
#include <string.h>
#include "HttpConfig.h"
#include "HTTP.h"
#include "ProcessManager.h"
#include "ProxyConfig.h"
#include "ICPProcessor.h"
#include "P_Net.h"
#include "P_RecUtils.h"
#include <records/I_RecHttp.h>
Include dependency graph for HttpConfig.cc:

Go to the source code of this file.

Data Structures

class  HttpConfigCont
struct  ConfigEnumPair< T >
 Data item for enumerated type config value. More...

Defines

#define min(a, b)   ((a) < (b) ? (a) : (b))
#define max(a, b)   ((a) > (b) ? (a) : (b))
#define HttpEstablishStaticConfigStringAlloc(_ix, _n)
#define HttpEstablishStaticConfigLongLong(_ix, _n)
#define HttpEstablishStaticConfigFloat(_ix, _n)
#define HttpEstablishStaticConfigByte(_ix, _n)
#define HTTP_CLEAR_DYN_STAT(x)
#define ARRAY_SIZE(x)   (sizeof(x)/(sizeof((x)[0])))
#define INT_TO_BOOL(i)   ((i) ? 1 : 0);

Functions

template<typename T >
static bool http_config_enum_search (char const *key, ConfigEnumPair< T > *list, size_t n, MgmtByte value)
 Convert a string to an enumeration value.
template<typename T >
static bool http_config_enum_read (char const *name, ConfigEnumPair< T > *list, size_t n, MgmtByte value)
 Read a string from the configuration and convert it to an enumeration value.
static int http_config_cb (const char *, RecDataT, RecData, void *)
static void http_config_share_server_sessions_bc (HttpConfigParams *c, MgmtByte v)
static void http_config_share_server_sessions_read_bc (HttpConfigParams *c)
static int http_server_session_sharing_cb (char const *name, RecDataT dtype, RecData data, void *cookie)
void register_configs ()
void register_stat_callbacks ()

Variables

RecRawStatBlockhttp_rsb
static ConfigEnumPair
< TSServerSessionSharingMatchType
SessionSharingMatchStrings []
 Session sharing match types.
static ConfigEnumPair
< TSServerSessionSharingPoolType
SessionSharingPoolStrings []
static volatile int http_config_changes = 1
static HttpConfigConthttp_config_cont = NULL
volatile int32_t icp_dynamic_enabled

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 HttpConfig.cc.


Define Documentation

#define ARRAY_SIZE (   x  )     (sizeof(x)/(sizeof((x)[0])))

Definition at line 130 of file HttpConfig.cc.

Referenced by http_server_session_sharing_cb(), and HttpConfig::startup().

#define HTTP_CLEAR_DYN_STAT (   x  ) 
Value:
do { \
        RecSetRawStatSum(http_rsb, x, 0); \
        RecSetRawStatCount(http_rsb, x, 0); \
} while (0);

Definition at line 61 of file HttpConfig.cc.

Referenced by register_stat_callbacks().

#define HttpEstablishStaticConfigByte (   _ix,
  _n 
)
Value:

Definition at line 55 of file HttpConfig.cc.

Referenced by HttpConfig::startup().

#define HttpEstablishStaticConfigFloat (   _ix,
  _n 
)
Value:

Definition at line 51 of file HttpConfig.cc.

Referenced by HttpConfig::startup().

#define HttpEstablishStaticConfigLongLong (   _ix,
  _n 
)
Value:

Definition at line 47 of file HttpConfig.cc.

Referenced by HttpConfig::startup().

#define HttpEstablishStaticConfigStringAlloc (   _ix,
  _n 
)
Value:

Definition at line 43 of file HttpConfig.cc.

Referenced by HttpConfig::startup().

#define INT_TO_BOOL (   i  )     ((i) ? 1 : 0);

Referenced by HttpConfig::reconfigure().

#define max (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Definition at line 40 of file HttpConfig.cc.

Referenced by HttpConfig::reconfigure().

#define min (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Definition at line 37 of file HttpConfig.cc.

Referenced by HttpConfig::reconfigure().


Function Documentation

static int http_config_cb ( const char *  ,
RecDataT  ,
RecData  ,
void *   
) [static]
template<typename T >
static bool http_config_enum_read ( char const *  name,
ConfigEnumPair< T > *  list,
size_t  n,
MgmtByte  value 
) [static]

Read a string from the configuration and convert it to an enumeration value.

n is the number of entries in the list.

Returns:
true if the string is found, false if not found. If found value is set to the corresponding value in list.

Definition at line 104 of file HttpConfig.cc.

References http_config_enum_search(), REC_ERR_OKAY, and RecGetRecordString().

Referenced by HttpConfig::startup().

template<typename T >
static bool http_config_enum_search ( char const *  key,
ConfigEnumPair< T > *  list,
size_t  n,
MgmtByte  value 
) [static]

Convert a string to an enumeration value.

n is the number of entries in the list.

Returns:
true if the string is found, false if not found. If found value is set to the corresponding value in list.

Definition at line 87 of file HttpConfig.cc.

References ConfigEnumPair< T >::_value.

Referenced by http_config_enum_read(), and http_server_session_sharing_cb().

static void http_config_share_server_sessions_bc ( HttpConfigParams c,
MgmtByte  v 
) [static]
static void http_config_share_server_sessions_read_bc ( HttpConfigParams c  )  [static]
static int http_server_session_sharing_cb ( char const *  name,
RecDataT  dtype,
RecData  data,
void *  cookie 
) [static]
void register_configs (  ) 

Definition at line 242 of file HttpConfig.cc.

Referenced by HttpConfig::startup().

void register_stat_callbacks (  ) 

Definition at line 247 of file HttpConfig.cc.

References http_background_fill_bytes_aborted_stat, http_background_fill_bytes_completed_stat, http_background_fill_current_count_stat, http_broken_server_connections_stat, http_cache_connection_time_stat, http_cache_deletes_stat, http_cache_hit_fresh_stat, http_cache_hit_ims_stat, http_cache_hit_mem_fresh_stat, http_cache_hit_reval_stat, http_cache_hit_stale_served_stat, http_cache_lookups_stat, http_cache_miss_changed_stat, http_cache_miss_client_no_cache_stat, http_cache_miss_cold_stat, http_cache_miss_ims_stat, http_cache_miss_uncacheable_stat, http_cache_read_error_stat, http_cache_read_errors, http_cache_updates_stat, http_cache_write_errors, http_cache_writes_stat, HTTP_CLEAR_DYN_STAT, http_client_connection_time_stat, http_client_no_cache_requests_stat, http_client_transaction_time_stat, http_client_write_time_stat, http_completed_requests_stat, http_connect_requests_stat, http_current_active_client_connections_stat, http_current_cache_connections_stat, http_current_client_connections_stat, http_current_client_transactions_stat, http_current_icp_raw_transactions_stat, http_current_icp_transactions_stat, http_current_parent_proxy_connections_stat, http_current_parent_proxy_raw_transactions_stat, http_current_parent_proxy_transactions_stat, http_current_server_connections_stat, http_current_server_raw_transactions_stat, http_current_server_transactions_stat, http_delete_requests_stat, http_err_client_abort_count_stat, http_err_client_abort_origin_server_bytes_stat, http_err_client_abort_user_agent_bytes_stat, http_err_connect_fail_count_stat, http_err_connect_fail_origin_server_bytes_stat, http_err_connect_fail_user_agent_bytes_stat, http_extension_method_requests_stat, http_get_requests_stat, http_head_requests_stat, http_icp_raw_transaction_time_stat, http_icp_suggested_lookups_stat, http_icp_transaction_time_stat, http_incoming_requests_stat, http_incoming_responses_stat, http_invalid_client_requests_stat, http_misc_count_stat, http_misc_user_agent_bytes_stat, http_missing_host_hdr_stat, http_options_requests_stat, http_origin_server_request_document_total_size_stat, http_origin_server_request_header_total_size_stat, http_origin_server_response_document_total_size_stat, http_origin_server_response_header_total_size_stat, http_origin_server_speed_bytes_per_sec_100_stat, http_origin_server_speed_bytes_per_sec_100K_stat, http_origin_server_speed_bytes_per_sec_100M_stat, http_origin_server_speed_bytes_per_sec_10K_stat, http_origin_server_speed_bytes_per_sec_10M_stat, http_origin_server_speed_bytes_per_sec_1K_stat, http_origin_server_speed_bytes_per_sec_1M_stat, http_outgoing_requests_stat, http_parent_proxy_connection_time_stat, http_parent_proxy_raw_transaction_time_stat, http_parent_proxy_request_total_bytes_stat, http_parent_proxy_response_total_bytes_stat, http_parent_proxy_transaction_time_stat, http_post_requests_stat, http_purge_requests_stat, http_push_requests_stat, http_pushed_document_total_size_stat, http_pushed_response_header_total_size_stat, http_put_requests_stat, http_request_document_size_100_stat, http_request_document_size_10K_stat, http_request_document_size_1K_stat, http_request_document_size_1M_stat, http_request_document_size_3K_stat, http_request_document_size_5K_stat, http_request_document_size_inf_stat, http_response_document_size_100_stat, http_response_document_size_10K_stat, http_response_document_size_1K_stat, http_response_document_size_1M_stat, http_response_document_size_3K_stat, http_response_document_size_5K_stat, http_response_document_size_inf_stat, http_response_status_100_count_stat, http_response_status_101_count_stat, http_response_status_1xx_count_stat, http_response_status_200_count_stat, http_response_status_201_count_stat, http_response_status_202_count_stat, http_response_status_203_count_stat, http_response_status_204_count_stat, http_response_status_205_count_stat, http_response_status_206_count_stat, http_response_status_2xx_count_stat, http_response_status_300_count_stat, http_response_status_301_count_stat, http_response_status_302_count_stat, http_response_status_303_count_stat, http_response_status_304_count_stat, http_response_status_305_count_stat, http_response_status_307_count_stat, http_response_status_3xx_count_stat, http_response_status_400_count_stat, http_response_status_401_count_stat, http_response_status_402_count_stat, http_response_status_403_count_stat, http_response_status_404_count_stat, http_response_status_405_count_stat, http_response_status_406_count_stat, http_response_status_407_count_stat, http_response_status_408_count_stat, http_response_status_409_count_stat, http_response_status_410_count_stat, http_response_status_411_count_stat, http_response_status_412_count_stat, http_response_status_413_count_stat, http_response_status_414_count_stat, http_response_status_415_count_stat, http_response_status_416_count_stat, http_response_status_4xx_count_stat, http_response_status_500_count_stat, http_response_status_501_count_stat, http_response_status_502_count_stat, http_response_status_503_count_stat, http_response_status_504_count_stat, http_response_status_505_count_stat, http_response_status_5xx_count_stat, http_server_connection_time_stat, http_server_raw_transaction_time_stat, http_server_read_time_stat, http_server_transaction_time_stat, http_tcp_client_refresh_count_stat, http_tcp_client_refresh_origin_server_bytes_stat, http_tcp_client_refresh_user_agent_bytes_stat, http_tcp_expired_miss_count_stat, http_tcp_expired_miss_origin_server_bytes_stat, http_tcp_expired_miss_user_agent_bytes_stat, http_tcp_hit_count_stat, http_tcp_hit_origin_server_bytes_stat, http_tcp_hit_user_agent_bytes_stat, http_tcp_ims_hit_count_stat, http_tcp_ims_hit_origin_server_bytes_stat, http_tcp_ims_hit_user_agent_bytes_stat, http_tcp_ims_miss_count_stat, http_tcp_ims_miss_origin_server_bytes_stat, http_tcp_ims_miss_user_agent_bytes_stat, http_tcp_miss_count_stat, http_tcp_miss_origin_server_bytes_stat, http_tcp_miss_user_agent_bytes_stat, http_tcp_refresh_hit_count_stat, http_tcp_refresh_hit_origin_server_bytes_stat, http_tcp_refresh_hit_user_agent_bytes_stat, http_tcp_refresh_miss_count_stat, http_tcp_refresh_miss_origin_server_bytes_stat, http_tcp_refresh_miss_user_agent_bytes_stat, http_throttled_proxy_only_stat, http_total_client_connections_ipv4_stat, http_total_client_connections_ipv6_stat, http_total_client_connections_stat, http_total_incoming_connections_stat, http_total_parent_proxy_connections_stat, http_total_server_connections_stat, http_total_transactions_think_time_stat, http_total_transactions_time_stat, http_total_x_redirect_stat, http_trace_requests_stat, http_transactions_per_client_con, http_transactions_per_parent_con, http_transactions_per_server_con, http_tunnels_stat, http_ua_msecs_counts_errors_aborts_stat, http_ua_msecs_counts_errors_connect_failed_stat, http_ua_msecs_counts_errors_early_hangups_stat, http_ua_msecs_counts_errors_empty_hangups_stat, http_ua_msecs_counts_errors_other_stat, http_ua_msecs_counts_errors_possible_aborts_stat, http_ua_msecs_counts_errors_pre_accept_hangups_stat, http_ua_msecs_counts_hit_fresh_process_stat, http_ua_msecs_counts_hit_fresh_stat, http_ua_msecs_counts_hit_reval_stat, http_ua_msecs_counts_miss_changed_stat, http_ua_msecs_counts_miss_client_no_cache_stat, http_ua_msecs_counts_miss_cold_stat, http_ua_msecs_counts_miss_uncacheable_stat, http_ua_msecs_counts_other_unclassified_stat, http_user_agent_request_document_total_size_stat, http_user_agent_request_header_total_size_stat, http_user_agent_response_document_total_size_stat, http_user_agent_response_header_total_size_stat, http_user_agent_speed_bytes_per_sec_100_stat, http_user_agent_speed_bytes_per_sec_100K_stat, http_user_agent_speed_bytes_per_sec_100M_stat, http_user_agent_speed_bytes_per_sec_10K_stat, http_user_agent_speed_bytes_per_sec_10M_stat, http_user_agent_speed_bytes_per_sec_1K_stat, http_user_agent_speed_bytes_per_sec_1M_stat, http_websocket_current_active_client_connections_stat, https_incoming_requests_stat, https_total_client_connections_stat, RECD_COUNTER, RECD_FLOAT, RECD_INT, RECP_NON_PERSISTENT, RECP_PERSISTENT, RecRawStatSyncAvg(), RecRawStatSyncCount(), RecRawStatSyncIntMsecsToFloatSeconds(), RecRawStatSyncSum(), RecRegisterRawStat, and RECT_PROCESS.

Referenced by Log::init(), and HttpConfig::startup().


Variable Documentation

volatile int http_config_changes = 1 [static]

Definition at line 141 of file HttpConfig.cc.

Referenced by HttpConfigCont::handle_event(), and http_config_cb().

HttpConfigCont* http_config_cont = NULL [static]

Definition at line 142 of file HttpConfig.cc.

Definition at line 60 of file HttpConfig.cc.

Referenced by HttpTransact::State::record_transaction_stats().

volatile int32_t icp_dynamic_enabled
Initial value:
{
  { TS_SERVER_SESSION_SHARING_MATCH_NONE, "none" },
  { TS_SERVER_SESSION_SHARING_MATCH_IP, "ip" },
  { TS_SERVER_SESSION_SHARING_MATCH_HOST, "host" },
  { TS_SERVER_SESSION_SHARING_MATCH_BOTH, "both" }
}

Session sharing match types.

Definition at line 115 of file HttpConfig.cc.

Initial value:
{
  { TS_SERVER_SESSION_SHARING_POOL_GLOBAL, "global" },
  { TS_SERVER_SESSION_SHARING_POOL_THREAD, "thread" }
}

Definition at line 124 of file HttpConfig.cc.