#include <HttpSM.h>
Inherits Continuation.
Inherited by HttpUpdateSM.
Definition at line 188 of file HttpSM.h.
HttpSM::HttpSM | ( | ) |
Definition at line 305 of file HttpSM.cc.
References _make_scatter_list(), history, http_parser, and vc_table.
Definition at line 140 of file HttpSM.cc.
References history, ink_assert, scat_count, to, and val.
void HttpSM::_make_scatter_list | ( | HttpSM * | prototype | ) | [static] |
void HttpSM::add_cache_sm | ( | ) | [inline] |
Definition at line 620 of file HttpSM.h.
References HttpTransact::State::cache_info, HttpCacheSM::cache_read_vc, cache_sm, HttpCacheSM::get_lookup_url(), HttpCacheSM::init(), Continuation::mutex, HttpCacheSM::read_locked, second_cache_sm, HttpCacheSM::set_lookup_url(), and t_state.
Referenced by TSHttpTxnNewCacheLookupDo(), and TSHttpTxnSecondUrlTryLock().
void HttpSM::add_history_entry | ( | const char * | fileline, | |
int | event, | |||
int | reentrant | |||
) | [inline] |
Definition at line 585 of file HttpSM.h.
References HttpSM::History::event, HttpSM::History::fileline, history, history_pos, and HttpSM::History::reentrancy.
HttpSM * HttpSM::allocate | ( | ) | [inline, static] |
Reimplemented in HttpUpdateSM.
Definition at line 552 of file HttpSM.h.
References SparseClassAllocator< C >::alloc(), and httpSMAllocator.
Referenced by HttpClientSession::new_transaction(), and SDK_API_OVERRIDABLE_CONFIGS().
void HttpSM::attach_client_session | ( | HttpClientSession * | client_vc_arg, | |
IOBufferReader * | buffer_reader | |||
) |
Definition at line 525 of file HttpSM.cc.
References ats_ip_copy(), NetVConnection::attributes, HttpTransact::State::backdoor_request, HttpTransact::State::client_info, IOBufferReader::clone(), ProxyClientSession::debug(), debug_on, HttpClientSession::do_io_read(), EVENT_NONE, NetVConnection::get_is_transparent(), NetVConnection::get_local_port(), HttpClientSession::get_netvc(), NetVConnection::get_remote_addr(), ProxyClientSession::has_hooks(), HttpTransact::State::hdr_info, ProxyClientSession::hooks_enabled(), hooks_set, HRTIME_SECONDS, http_current_client_transactions_stat, HTTP_INCREMENT_DYN_STAT, http_parser, http_parser_init(), HTTP_TYPE_REQUEST, ink_assert, ink_get_hrtime(), is_transparent_passthrough_allowed(), kill_this(), HttpConfig::m_master, IOBufferReader::mbuf, milestones, Continuation::mutex, HttpVCTable::new_entry(), HttpVCTableEntry::read_vio, reentrancy_count, NetVConnection::set_active_timeout(), NetVConnection::set_inactivity_timeout(), start_sub_sm(), state_add_to_list(), t_state, terminate_sm, TransactionMilestones::ua_begin, ua_buffer_reader, ua_entry, ua_raw_buffer_reader, ua_session, HttpVCTableEntry::vc, HttpVCTableEntry::vc_handler, vc_table, and HttpVCTableEntry::vc_type.
Referenced by HttpClientSession::new_transaction().
void HttpSM::attach_server_session | ( | HttpServerSession * | s | ) |
Definition at line 5521 of file HttpSM.cc.
References HttpTransact::State::api_txn_active_timeout_value, HttpTransact::State::api_txn_connect_timeout_value, OverridableHttpConfigParams::connect_attempts_timeout, CongestionEntry::connect_timeout(), HttpTransact::State::current, DebugSM, HttpServerSession::do_io_read(), HttpServerSession::do_io_write(), HttpServerSession::get_netvc(), HttpServerSession::get_reader(), HRTIME_MSECONDS, HRTIME_SECONDS, hsm_release_assert, HSS_ACTIVE, HttpTransact::State::http_config_param, http_current_server_transactions_stat, HTTP_INCREMENT_DYN_STAT, HTTP_NO_PLUGIN_TUNNEL, HTTP_WKSIDX_POST, HTTP_WKSIDX_PUT, INT64_MAX, HttpTransact::State::method, Continuation::mutex, HttpVCTable::new_entry(), HttpConfigParams::parent_connect_timeout, HttpTransact::State::parent_info, HttpTransact::State::pCongestionEntry, plugin_tunnel_type, OverridableHttpConfigParams::post_connect_attempts_timeout, HttpServerSession::private_session, HttpServerSession::read_buffer, HttpVCTableEntry::read_vio, server_buffer_reader, server_entry, server_session, HttpServerSession::server_trans_stat, NetVConnection::set_active_timeout(), NetVConnection::set_inactivity_timeout(), HttpServerSession::state, t_state, HttpServerSession::transact_count, OverridableHttpConfigParams::transaction_active_timeout_out, HttpTransact::State::txn_conf, HttpVCTableEntry::vc, HttpVCTableEntry::vc_handler, vc_table, and HttpVCTableEntry::vc_type.
Referenced by HttpSessionManager::acquire_session(), do_http_server_open(), and state_http_server_open().
void HttpSM::calculate_output_cl | ( | int64_t | content_length, | |
int64_t | num_chars | |||
) |
Definition at line 4214 of file HttpSM.cc.
References _RangeRecord::_end, _RangeRecord::_start, Debug, ink_assert, num_chars_for_int(), HttpTransact::State::num_range_fields, HttpTransact::RANGE_NOT_TRANSFORM_REQUESTED, HttpTransact::State::range_output_cl, HttpTransact::RANGE_REQUESTED, HttpTransact::State::range_setup, HttpTransact::State::ranges, sub_header_size, and t_state.
Referenced by do_range_parse().
void HttpSM::call_transact_and_set_next_state | ( | TransactEntryFunc_t | f | ) | [protected] |
Definition at line 6831 of file HttpSM.cc.
References DebugSM, HttpDebugNames::get_action_name(), ink_release_assert, last_action, HttpTransact::State::next_action, set_next_state(), sm_id, t_state, and HttpTransact::State::transact_return_point.
Referenced by do_cache_prepare_update(), do_hostdb_lookup(), HttpUpdateSM::handle_api_return(), handle_api_return(), handle_post_failure(), handle_server_setup_error(), set_next_state(), setup_blind_tunnel_port(), state_api_callout(), state_cache_open_read(), state_cache_open_write(), state_common_wait_for_transform_read(), state_handle_stat_page(), state_hostdb_lookup(), state_hostdb_reverse_lookup(), state_http_server_open(), state_icp_lookup(), state_raw_http_server_open(), state_read_client_request_header(), state_read_push_response_header(), state_read_server_response_header(), state_remap_request(), state_response_wait_for_transform_read(), and tunnel_handler_push().
void HttpSM::cleanup | ( | void | ) |
Definition at line 345 of file HttpSM.cc.
References api_hooks, cache_sm, Ptr< T >::clear(), FeatureAPIHooks< ID, N >::clear(), debug_on, HttpTransact::State::destroy(), HttpTransact::State::http_config_param, http_parser, http_parser_clear(), magic, Continuation::mutex, HttpConfig::release(), second_cache_sm, t_state, transform_cache_sm, and tunnel.
Referenced by HttpUpdateSM::destroy(), and destroy().
void HttpSM::destroy | ( | ) | [virtual] |
Reimplemented in HttpUpdateSM.
Definition at line 368 of file HttpSM.cc.
References cleanup(), and httpSMAllocator.
Referenced by kill_this(), and SDK_API_OVERRIDABLE_CONFIGS().
void HttpSM::do_api_callout | ( | ) | [inline, protected] |
Definition at line 441 of file HttpSM.cc.
References do_api_callout_internal(), handle_api_return(), and hooks_set.
Referenced by kill_this(), set_next_state(), setup_cache_lookup_complete_api(), setup_error_transfer(), setup_server_send_request_api(), state_add_to_list(), state_api_callout(), and state_read_server_response_header().
void HttpSM::do_api_callout_internal | ( | ) | [protected] |
Definition at line 4757 of file HttpSM.cc.
References HttpTransact::State::api_next_action, HttpTransact::State::backdoor_request, callout_state, cur_hook, cur_hook_id, cur_hooks, handle_api_return(), HTTP_API_DEFERED_SERVER_ERROR, HTTP_API_IN_CALLOUT, ink_assert, ink_get_hrtime(), milestones, HttpTransact::SM_ACTION_API_CACHE_LOOKUP_COMPLETE, HttpTransact::SM_ACTION_API_OS_DNS, HttpTransact::SM_ACTION_API_POST_REMAP, HttpTransact::SM_ACTION_API_PRE_REMAP, HttpTransact::SM_ACTION_API_READ_CACHE_HDR, HttpTransact::SM_ACTION_API_READ_REQUEST_HDR, HttpTransact::SM_ACTION_API_READ_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SEND_REQUEST_HDR, HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SM_SHUTDOWN, HttpTransact::SM_ACTION_API_SM_START, state_api_callout(), t_state, and TransactionMilestones::ua_begin_write.
Referenced by do_api_callout(), and set_next_state().
void HttpSM::do_auth_callout | ( | ) | [protected] |
void HttpSM::do_cache_delete_all_alts | ( | Continuation * | cont | ) | [protected] |
Definition at line 4348 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::cache_control, HttpTransact::State::cache_info, cacheProcessor, CacheControlResult::cluster_cache_local, DebugSM, historical_action, ink_assert, pending_action, CacheProcessor::remove(), and t_state.
Referenced by set_next_state().
void HttpSM::do_cache_lookup_and_read | ( | ) | [protected] |
Definition at line 4305 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::arena, HttpTransact::State::cache_control, HttpTransact::State::cache_info, HttpTransact::State::cache_lookup_result, TransactionMilestones::cache_open_read_begin, cache_sm, DebugSM, HttpTransact::State::hdr_info, historical_action, http_cache_lookups_stat, HTTP_INCREMENT_TRANS_STAT, ink_assert, ink_get_hrtime(), milestones, HttpCacheSM::open_read(), pending_action, CacheControlResult::pin_in_cache_for, HttpTransact::State::redirect_info, reentrancy_count, REMEMBER, sm_id, URL::string_get(), and t_state.
Referenced by set_next_state().
void HttpSM::do_cache_prepare_action | ( | HttpCacheSM * | c_sm, | |
CacheHTTPInfo * | object_read_info, | |||
bool | retry, | |||
bool | allow_multiple = false | |||
) | [protected] |
Definition at line 4414 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::api_lock_url, HttpTransact::State::arena, HttpTransact::State::cache_control, HttpTransact::State::cache_info, HttpCacheSM::cache_write_vc, URL::copy(), DebugSM, HttpTransact::State::hdr_info, historical_action, ink_assert, HttpTransact::LOCK_URL_FIRST, HttpTransact::LOCK_URL_ORIGINAL, HttpTransact::LOCK_URL_SECOND, HttpCacheSM::open_write(), pending_action, CacheControlResult::pin_in_cache_for, HttpTransact::State::redirect_info, sm_id, URL::string_get(), t_state, and URL::valid().
Referenced by do_cache_prepare_update(), do_cache_prepare_write(), do_cache_prepare_write_transform(), and state_cache_open_write().
void HttpSM::do_cache_prepare_update | ( | ) | [protected] |
Definition at line 4390 of file HttpSM.cc.
References HttpTransact::State::api_modifiable_cached_resp, HttpTransact::State::cache_info, cache_sm, HttpCacheSM::cache_write_vc, call_transact_and_set_next_state(), do_cache_prepare_action(), HttpTransact::HandleApiErrorJump(), HttpTransact::State::hdr_info, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_WKSIDX_GET, ink_assert, state_cache_open_write(), t_state, and HttpTransact::State::transact_return_point.
Referenced by set_next_state(), and state_api_callout().
void HttpSM::do_cache_prepare_write | ( | ) | [inline, protected] |
Definition at line 4371 of file HttpSM.cc.
References HttpTransact::State::api_lock_url, HttpTransact::State::cache_info, TransactionMilestones::cache_open_write_begin, cache_sm, do_cache_prepare_action(), ink_get_hrtime(), milestones, and t_state.
Referenced by set_next_state().
void HttpSM::do_cache_prepare_write_transform | ( | ) | [inline, protected] |
Definition at line 4381 of file HttpSM.cc.
References cache_sm, HttpCacheSM::cache_write_vc, do_cache_prepare_action(), HttpTunnel::has_cache_writer(), transform_cache_sm, and tunnel.
Referenced by set_next_state().
bool HttpSM::do_congestion_control_lookup | ( | ) | [protected] |
Definition at line 7312 of file HttpSM.cc.
References ACTION_RESULT_DONE, get_congest_entry(), historical_action, ink_assert, HttpTransact::State::pCongestionEntry, pending_action, HttpTransact::State::request_data, and t_state.
Referenced by set_next_state().
void HttpSM::do_hostdb_lookup | ( | ) | [protected] |
Definition at line 3876 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::api_txn_dns_timeout_value, HttpTransact::State::cache_info, call_transact_and_set_next_state(), HttpTransact::State::current, DebugSM, HttpTransact::State::dns_info, TransactionMilestones::dns_lookup_begin, HostDBProcessor::Options::flags, HostDBProcessor::getbyname_imm(), HostDBProcessor::getSRVbyname_imm(), historical_action, HttpClientSession::host_res_style, HostDBProcessor::Options::host_res_style, HostDBProcessor::HOSTDB_DO_NOT_FORCE_DNS, HostDBProcessor::HOSTDB_FORCE_DNS_RELOAD, hostDBProcessor, ink_assert, ink_get_hrtime(), ink_strlcpy(), memcpy, milestones, pending_action, HostDBProcessor::Options::port, process_hostdb_info(), process_srv_info(), HttpTransact::State::server_info, HttpTransact::State::srv_lookup, t_state, HostDBProcessor::Options::timeout, and ua_session.
Referenced by set_next_state().
void HttpSM::do_hostdb_reverse_lookup | ( | ) | [protected] |
Definition at line 3975 of file HttpSM.cc.
References ACTION_RESULT_DONE, ats_ip_pton(), DebugSM, HttpTransact::State::dns_info, HostDBProcessor::getbyaddr_re(), historical_action, hostDBProcessor, ink_assert, pending_action, IpEndpoint::sa, and t_state.
Referenced by set_next_state().
void HttpSM::do_hostdb_update_if_necessary | ( | ) |
Definition at line 3995 of file HttpSM.cc.
References HostDBInfo::app, ats_ip_addr_eq(), ats_ip_nptop(), ats_ip_port_cast(), HttpTransact::State::client_request_time, HttpTransact::State::current, DebugSM, HttpTransact::State::dns_info, HttpTransact::State::host_db_info, hostDBProcessor, HostDBApplicationInfo::http_data, HTTP_NO_PLUGIN_TUNNEL, HostDBApplicationInfo::http_server_attr::http_version, HostDBApplicationInfo::HTTP_VERSION_UNDEFINED, INET6_ADDRPORTSTRLEN, HostDBInfo::ip, HostDBApplicationInfo::http_server_attr::last_failure, mark_host_failure(), plugin_tunnel_type, HostDBProcessor::setby(), HostDBProcessor::setby_srv(), sm_id, t_state, and HttpTransact::State::updated_server_version.
Referenced by HttpTransact::handle_forward_server_connection_open(), HttpTransact::handle_server_connection_not_open(), mark_server_down_on_client_abort(), and set_next_state().
void HttpSM::do_http_server_open | ( | bool | raw = false |
) | [protected] |
Definition at line 4471 of file HttpSM.cc.
References HttpSessionManager::acquire_session(), ACTION_RESULT_DONE, NetVCOptions::addr_binding, HttpTransact::State::api_server_addr_set, ats_ip_addr_port_eq(), ats_ip_family_name(), ats_ip_nptop(), ats_ip_ntop(), ats_ip_port_cast(), attach_server_session(), HttpClientSession::attach_server_session(), HttpTransact::State::client_info, CONGEST_INCREMENT_DYN_STAT, congested_on_F_stat, congested_on_M_stat, HttpTransact::State::congestion_congested_or_failed, CONGESTION_EVENT_CONGESTED_ON_F, CONGESTION_EVENT_CONGESTED_ON_M, OverridableHttpConfigParams::connect_attempts_timeout, NetProcessor::connect_re(), PluginVCCore::connect_re(), NetProcessor::connect_s(), CongestionEntry::connect_timeout(), connections, HttpTransact::State::current, DebugSM, eventProcessor, NetVCOptions::f_blocking_connect, CongestionEntry::F_congested(), HttpClientSession::f_outbound_transparent, HttpClientSession::get_netvc(), NetVConnection::get_remote_port(), HttpClientSession::get_server_session(), ConnectionCount::getCount(), ConnectionCount::getInstance(), handle_http_server_open(), Continuation::handleEvent(), HttpTransact::State::hdr_info, historical_action, HRTIME_MSECONDS, HSM_DONE, HSM_NOT_FOUND, hsm_release_assert, HSM_RETRY, HttpTransact::State::http_config_param, http_current_server_connections_stat, HTTP_READ_GLOBAL_DYN_SUM, HTTP_WKSIDX_CONNECT, HTTP_WKSIDX_POST, HTTP_WKSIDX_PUT, httpSessionManager, INET6_ADDRPORTSTRLEN, ink_assert, ink_get_hrtime(), ink_hrtime_to_sec(), ink_release_assert, NetVCOptions::ip_family, is_private(), HttpTransact::State::is_websocket, IpAddr::isValid(), OverridableHttpConfigParams::keep_alive_post_out, NetVCOptions::local_ip, NetVCOptions::local_port, CongestionEntry::M_congested(), HttpTransact::State::method, milestones, netProcessor, OverridableHttpConfigParams::origin_max_connections, HttpClientSession::outbound_ip4, HttpClientSession::outbound_ip6, HttpClientSession::outbound_port, HttpConfigParams::parent_connect_timeout, HttpTransact::State::parent_info, HttpTransact::State::pCongestionEntry, pending_action, plugin_tunnel, OverridableHttpConfigParams::post_connect_attempts_timeout, CongestionEntry::proxy_retry(), HttpSessionManager::purge_keepalives(), HttpServerSession::release(), HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, IpEndpoint::sa, EventProcessor::schedule_in(), HttpTransact::State::scheme, TransactionMilestones::server_connect, server_entry, TransactionMilestones::server_first_connect, HttpServerSession::server_ip, HttpConfigParams::server_max_connections, server_session, OverridableHttpConfigParams::server_session_sharing_match, NetVCOptions::set_sni_servername(), NetVCOptions::set_sock_param(), sm_id, OverridableHttpConfigParams::sock_option_flag_out, OverridableHttpConfigParams::sock_packet_mark_out, OverridableHttpConfigParams::sock_packet_tos_out, OverridableHttpConfigParams::sock_recv_buffer_size_out, OverridableHttpConfigParams::sock_send_buffer_size_out, sslNetProcessor, CongestionEntry::stat_inc_F(), CongestionEntry::stat_inc_M(), HttpServerSession::state, t_state, TS_SERVER_SESSION_SHARING_MATCH_NONE, HttpTransact::State::txn_conf, ua_entry, ua_session, URL_WKSIDX_HTTPS, and HttpConfigParams::use_client_source_port.
Referenced by set_next_state(), and state_http_server_open().
void HttpSM::do_icp_lookup | ( | ) | [protected] |
Definition at line 4738 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::cache_info, historical_action, icpProcessor, ICPProcessorExt::ICPQuery(), ink_assert, pending_action, t_state, and URL::valid().
Referenced by set_next_state().
VConnection * HttpSM::do_post_transform_open | ( | ) |
Definition at line 4816 of file HttpSM.cc.
References api_hooks, HttpTransformInfo::entry, FeatureAPIHooks< ID, N >::get(), ink_assert, is_action_tag_set, Continuation::mutex, HttpVCTable::new_entry(), TransformProcessor::null_transform(), TransformProcessor::open(), post_transform_info, transformProcessor, TS_HTTP_REQUEST_TRANSFORM_HOOK, txn_hook_prepend(), HttpVCTableEntry::vc, HttpTransformInfo::vc, vc_table, and HttpVCTableEntry::vc_type.
Referenced by handle_http_server_open().
void HttpSM::do_range_parse | ( | MIMEField * | range_field | ) |
Definition at line 4246 of file HttpSM.cc.
References HttpTransact::State::cache_info, calculate_output_cl(), num_chars_for_int(), parse_range_and_compare(), and t_state.
Referenced by do_range_setup_if_necessary().
void HttpSM::do_range_setup_if_necessary | ( | ) |
Definition at line 4262 of file HttpSM.cc.
References api_hooks, FeatureAPIHooks< ID, N >::append(), HttpTransact::State::cache_info, HttpCacheSM::cache_read_vc, cache_sm, Debug, do_range_parse(), FeatureAPIHooks< ID, N >::get(), HttpTransact::State::hdr_info, HTTP_WKSIDX_GET, ink_assert, CacheVConnection::is_pread_capable(), HttpTransact::State::method, MIME_FIELD_CONTENT_TYPE, MIME_FIELD_RANGE, MIME_LEN_CONTENT_TYPE, MIME_LEN_RANGE, Continuation::mutex, HttpTransact::State::num_range_fields, HttpTransact::RANGE_NOT_TRANSFORM_REQUESTED, HttpTransact::RANGE_REQUESTED, HttpTransact::State::range_setup, TransformProcessor::range_transform(), HttpTransact::State::ranges, t_state, transformProcessor, and TS_HTTP_RESPONSE_TRANSFORM_HOOK.
Referenced by HttpTransact::build_response_from_cache(), and HttpTransact::handle_cache_operation_on_forward_server_response().
void HttpSM::do_redirect | ( | ) | [protected] |
Definition at line 7352 of file HttpSM.cc.
References Log::access(), HttpTransact::State::api_info, ats_free(), HttpTunnel::deallocate_redirect_postdata_buffers(), DebugSM, enable_redirection, Log::error(), Log::FAIL, Log::FULL, HttpTransact::State::hdr_info, HTTP_INCREMENT_DYN_STAT, http_total_x_redirect_stat, is_redirect_required(), _HttpApiInfo::logging_enabled, HttpConfig::m_master, MIME_FIELD_LOCATION, MIME_LEN_LOCATION, redirect_request(), redirect_url, redirect_url_len, redirection_tries, HttpTransact::State::squid_codes, SQUID_LOG_TCP_HIT, t_state, Log::transaction_logging_enabled(), and tunnel.
Referenced by set_next_state(), and state_api_callout().
void HttpSM::do_remap_request | ( | bool | run_inline | ) | [protected] |
Definition at line 3839 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::cop_test_page, URL::copy(), URL::create(), DebugSM, EVENT_REMAP_COMPLETE, Continuation::handleEvent(), HttpTransact::State::hdr_info, historical_action, ink_assert, pending_action, RemapProcessor::perform_remap(), HttpTransact::State::pristine_url, remapProcessor, RemapProcessor::setup_for_remap(), sm_id, and t_state.
Referenced by set_next_state().
void HttpSM::do_setup_post_tunnel | ( | HttpVC_t | to_vc_type | ) | [protected] |
Definition at line 5268 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), buffer_size_to_index(), HttpTransact::State::client_info, client_request_body_bytes, IOBufferReader::consume(), OverridableHttpConfigParams::default_buffer_size_index, enable_redirection, HttpTransformInfo::entry, HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_HTTP_SERVER, HT_STATIC, HT_TRANSFORM, HTTP_SERVER_VC, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_TRANSFORM_VC, HTTP_TUNNEL_STATIC_PRODUCER, HTTP_UNDEFINED_CL, HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, INT64_MAX, MAX_BUFFER_SIZE_INDEX, new_MIOBuffer, post_transform_info, HttpTunnel::postbuf, PostDataBuffers::postdata_copy_buffer_start, PostDataBuffers::postdata_producer_buffer, PostDataBuffers::postdata_producer_reader, IOBufferReader::read_avail(), HttpTransact::State::redirect_info, server_entry, HttpTunnel::set_producer_chunking_action(), state_request_wait_for_transform_read(), t_state, TCA_PASSTHRU_CHUNKED_CONTENT, transfered_bytes, tunnel, tunnel_handler_for_partial_post(), tunnel_handler_post(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_transform_write(), HttpTunnel::tunnel_run(), HttpTransact::State::txn_conf, ua_buffer_reader, ua_entry, HttpTransformInfo::vc, HttpVCTableEntry::vc, and MIOBuffer::write().
Referenced by handle_http_server_open(), state_send_server_request_header(), and tunnel_handler_for_partial_post().
VConnection * HttpSM::do_transform_open | ( | ) |
Definition at line 4836 of file HttpSM.cc.
References api_hooks, HttpTransformInfo::entry, FeatureAPIHooks< ID, N >::get(), ink_assert, is_action_tag_set, Continuation::mutex, HttpVCTable::new_entry(), TransformProcessor::null_transform(), TransformProcessor::open(), transform_info, transformProcessor, TS_HTTP_RESPONSE_TRANSFORM_HOOK, txn_hook_prepend(), HttpVCTableEntry::vc, HttpTransformInfo::vc, vc_table, and HttpVCTableEntry::vc_type.
Referenced by HttpTransact::build_response_from_cache(), HttpTransact::handle_cache_operation_on_forward_server_response(), and HttpTransact::handle_no_cache_operation_on_forward_server_response().
void HttpSM::dump_state_hdr | ( | HTTPHdr * | h, | |
const char * | s | |||
) |
Definition at line 6788 of file HttpSM.cc.
References ats_free(), ats_malloc(), Error, HTTPHdr::length_get(), HTTPHdr::print(), sm_id, and HTTPHdr::valid().
Referenced by dump_state_on_assert().
void HttpSM::dump_state_on_assert | ( | ) |
Definition at line 6758 of file HttpSM.cc.
References dump_state_hdr(), Error, HttpSM::History::event, HttpTransact::State::hdr_info, history, history_pos, HISTORY_SIZE, HttpSM::History::reentrancy, sm_id, t_state, and HttpTransact::State::via_string.
Referenced by update_stats().
int HttpSM::find_http_resp_buffer_size | ( | int64_t | cl | ) | [protected] |
Definition at line 5978 of file HttpSM.cc.
References buffer_size_to_index(), OverridableHttpConfigParams::default_buffer_size_index, DEFAULT_MAX_BUFFER_SIZE, HTTP_HEADER_BUFFER_SIZE_INDEX, HTTP_SERVER_RESP_HDR_BUFFER_INDEX, HTTP_UNDEFINED_CL, index_to_buffer_size(), t_state, and HttpTransact::State::txn_conf.
Referenced by find_server_buffer_size(), and setup_push_transfer_to_cache().
int HttpSM::find_server_buffer_size | ( | ) | [inline, protected] |
Definition at line 594 of file HttpSM.h.
References find_http_resp_buffer_size(), HttpTransact::State::hdr_info, and t_state.
Referenced by setup_server_transfer(), setup_server_transfer_to_cache_only(), setup_server_transfer_to_transform(), setup_transfer_from_transform(), and setup_transfer_from_transform_to_cache_only().
HttpCacheSM & HttpSM::get_cache_sm | ( | ) | [inline] |
Definition at line 539 of file HttpSM.h.
References cache_sm.
Referenced by HttpTransact::calculate_document_freshness_limit(), and HttpTransact::handle_forward_server_connection_open().
int HttpSM::get_http_schedule | ( | int | event, | |
void * | data | |||
) |
Definition at line 7591 of file HttpSM.cc.
References Continuation::handleEvent(), HRTIME_MSECONDS, HTTP_SM_SET_DEFAULT_HANDLER, ink_assert, Continuation::mutex, MUTEX_TAKE_TRY_LOCK, Mutex_unlock(), pending_action, and schedule_cont.
Referenced by set_http_schedule().
HttpTunnel* HttpSM::get_tunnel | ( | ) | [inline] |
HttpVCTableEntry * HttpSM::get_ua_entry | ( | ) | [inline] |
void HttpSM::handle_api_return | ( | ) | [protected, virtual] |
Reimplemented in HttpUpdateSM.
Definition at line 1478 of file HttpSM.cc.
References HttpTransact::State::api_cleanup_cache_read, HttpTransact::State::api_next_action, HttpTransact::State::api_release_server_session, HttpTransact::State::api_update_cached_object, HttpTransact::State::cache_info, cache_sm, HttpCacheSM::cache_write_vc, call_transact_and_set_next_state(), HttpTransact::State::client_info, HttpCacheSM::close_read(), HttpTransact::State::did_upgrade_succeed, EVENT_NONE, HttpClientSession::get_netvc(), HttpTransact::HandleRequest(), HRTIME_SECONDS, HTTP_INCREMENT_DYN_STAT, http_websocket_current_active_client_connections_stat, ink_release_assert, HttpTransact::State::is_websocket, HttpTransact::State::next_action, perform_cache_write_action(), perform_transform_cache_write_action(), release_server_session(), HttpTransact::State::request_sent_time, HttpTransact::State::response_received_time, NetVConnection::set_inactivity_timeout(), setup_blind_tunnel(), setup_blind_tunnel_port(), setup_cache_read_transfer(), setup_client_read_request_header(), setup_internal_transfer(), setup_server_send_request(), setup_server_transfer(), setup_transfer_from_transform(), HttpTransact::SM_ACTION_API_CACHE_LOOKUP_COMPLETE, HttpTransact::SM_ACTION_API_OS_DNS, HttpTransact::SM_ACTION_API_POST_REMAP, HttpTransact::SM_ACTION_API_PRE_REMAP, HttpTransact::SM_ACTION_API_READ_CACHE_HDR, HttpTransact::SM_ACTION_API_READ_REQUEST_HDR, HttpTransact::SM_ACTION_API_READ_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SEND_REQUEST_HDR, HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SM_SHUTDOWN, HttpTransact::SM_ACTION_API_SM_START, HttpTransact::SM_ACTION_INTERNAL_CACHE_DELETE, HttpTransact::SM_ACTION_INTERNAL_CACHE_NOOP, HttpTransact::SM_ACTION_INTERNAL_CACHE_UPDATE_HEADERS, HttpTransact::SM_ACTION_INTERNAL_CACHE_WRITE, HttpTransact::SM_ACTION_REDIRECT_READ, HttpTransact::SM_ACTION_SEND_ERROR_CACHE_NOOP, HttpTransact::SM_ACTION_SERVE_FROM_CACHE, HttpTransact::SM_ACTION_SERVER_READ, HttpTransact::SM_ACTION_TRANSFORM_READ, state_remove_from_list(), t_state, OverridableHttpConfigParams::transaction_no_activity_timeout_in, transform_cache_sm, HttpProxyPort::TRANSPORT_BLIND_TUNNEL, tunnel, tunnel_handler(), tunnel_handler_cache_fill(), HttpTunnel::tunnel_run(), HttpTransact::State::txn_conf, ua_session, unlikely, and HttpTransact::UPDATE_CACHED_OBJECT_PREPARE.
Referenced by do_api_callout(), do_api_callout_internal(), set_next_state(), and state_api_callout().
void HttpSM::handle_http_server_open | ( | ) | [protected] |
Definition at line 5053 of file HttpSM.cc.
References NetVConnection::apply_options(), HttpTransact::CHUNKED_ENCODING, HttpTransact::State::client_info, HttpTransact::State::congestion_connection_opened, CongestionEntry::connection_opened(), do_post_transform_open(), do_setup_post_tunnel(), HttpServerSession::get_netvc(), HttpTransact::State::hdr_info, HTTP_TRANSFORM_VC, HTTP_WKSIDX_TRACE, NetVConnection::options, NetVCOptions::packet_mark, NetVCOptions::packet_tos, HttpTransact::State::pCongestionEntry, server_session, setup_server_send_request_api(), OverridableHttpConfigParams::sock_option_flag_out, OverridableHttpConfigParams::sock_packet_mark_out, OverridableHttpConfigParams::sock_packet_tos_out, NetVCOptions::sockopt_flags, t_state, and HttpTransact::State::txn_conf.
Referenced by do_http_server_open(), and state_http_server_open().
void HttpSM::handle_post_failure | ( | ) | [protected] |
Definition at line 5003 of file HttpSM.cc.
References call_transact_and_set_next_state(), HttpVCTable::cleanup_entry(), HttpTransact::State::client_info, HttpTransact::State::current, HttpTunnel::deallocate_buffers(), HttpTunnel::deallocate_redirect_postdata_buffers(), HttpClientSession::do_io_read(), enable_redirection, HttpVCTableEntry::eos, HttpTransact::HandleResponse(), HttpVCTableEntry::in_tunnel, ink_assert, IOBufferReader::read_avail(), HttpVCTableEntry::read_vio, HttpTransact::State::redirect_info, HttpTunnel::reset(), server_buffer_reader, server_entry, server_session, setup_server_read_response_header(), STATE_ENTER, t_state, tunnel, ua_entry, ua_session, HttpVCTableEntry::vc, VC_EVENT_NONE, and vc_table.
Referenced by tunnel_handler_for_partial_post(), and tunnel_handler_post().
void HttpSM::handle_server_setup_error | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 5098 of file HttpSM.cc.
References HttpTunnelProducer::alive, call_transact_and_set_next_state(), callout_state, HttpTransact::State::cause_of_death_errno, HttpVCTable::cleanup_entry(), HttpTransact::State::current, HttpTunnel::deallocate_buffers(), DebugSM, VConnection::do_io_read(), VConnection::do_io_shutdown(), HttpTransformInfo::entry, HttpTunnel::get_consumer(), HttpDebugNames::get_event_name(), HttpServerSession::get_netvc(), Continuation::handleEvent(), HttpTunnelConsumer::handler_state, HttpTunnelProducer::handler_state, HttpTransact::HandleResponse(), HTTP_API_DEFERED_CLOSE, HTTP_API_DEFERED_SERVER_ERROR, HTTP_API_IN_CALLOUT, HTTP_API_NO_CALLOUT, HTTP_SM_TRANSFORM_OPEN, HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, INT64_MAX, IO_SHUTDOWN_READ, HttpTunnel::is_tunnel_active(), VConnection::lerrno, VIO::nbytes, VIO::ndone, post_transform_info, HttpTunnelConsumer::producer, HttpTunnelProducer::read_buffer, HttpVCTableEntry::read_vio, HttpTunnel::reset(), server_entry, server_session, sm_id, STATE_ENTER, t_state, tunnel, ua_entry, HttpTunnelProducer::vc, HttpTransformInfo::vc, HttpVCTableEntry::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, HttpVCTableEntry::vc_handler, vc_table, HttpVCTableEntry::write_vio, and HttpTunnelConsumer::write_vio.
Referenced by state_read_server_response_header(), state_send_server_request_header(), and tunnel_handler_100_continue().
void HttpSM::init | ( | void | ) |
Definition at line 375 of file HttpSM.cc.
References HttpConfig::acquire(), HttpConfigParams::cache_enable_default_vary_headers, OverridableHttpConfigParams::cache_http, HttpTransact::State::cache_info, HttpConfigParams::cache_vary_default_images, HttpConfigParams::cache_vary_default_other, HttpConfigParams::cache_vary_default_text, debug_sm_list_mutex, OverridableHttpConfigParams::doc_in_cache_skip_dns, HttpTransact::State::force_dns, OverridableHttpConfigParams::global_user_agent_header, hostdb_srv_enabled, HttpTransact::State::http_config_param, http_parser, http_parser_init(), HttpConfigParams::ignore_accept_charset_mismatch, HttpConfigParams::ignore_accept_encoding_mismatch, HttpConfigParams::ignore_accept_language_mismatch, HttpConfigParams::ignore_accept_mismatch, HttpTransact::State::init(), ink_get_hrtime(), ink_mutex_acquire(), ink_mutex_release(), ip_rule_in_CacheControlTable(), ControlMatcher< Data, Result >::ipMatch, magic, main_handler(), milestones, HttpConfigParams::oride, HttpTransact::State::parent_params, ParentConfigParams::ParentTable, DLL< C, L >::push(), SET_HANDLER, sm_id, TransactionMilestones::sm_start, HttpTransact::State::srv_lookup, HttpTransact::State::state_machine, HttpTransact::State::state_machine_id, t_state, and HttpTransact::State::txn_conf.
Referenced by UpdateSM::http_scheme(), init_sm(), HttpClientSession::new_transaction(), and SDK_API_OVERRIDABLE_CONFIGS().
bool HttpSM::is_bg_fill_necessary | ( | HttpTunnelConsumer * | c | ) | [protected] |
Definition at line 3007 of file HttpSM.cc.
References HttpTunnelProducer::alive, OverridableHttpConfigParams::background_fill_threshold, HttpTunnelConsumer::bytes_written, client_response_hdr_bytes, DebugSM, HttpTransact::State::hdr_info, HT_HTTP_CLIENT, ink_assert, HttpTunnelProducer::num_consumers, HttpTunnelConsumer::producer, server_entry, sm_id, t_state, HttpTransact::State::txn_conf, HttpVCTableEntry::vc, and HttpTunnelConsumer::vc_type.
Referenced by tunnel_handler_ua().
bool HttpSM::is_http_server_eos_truncation | ( | HttpTunnelProducer * | p | ) | [protected] |
Definition at line 2778 of file HttpSM.cc.
References HttpTunnelProducer::chunked_handler, cl, DebugSM, HttpTunnelProducer::do_chunked_passthru, HttpTunnelProducer::do_dechunking, HttpTransact::State::hdr_info, server_response_body_bytes, sm_id, t_state, ChunkedHandler::truncation, and UNDEFINED_COUNT.
Referenced by tunnel_handler_server().
bool HttpSM::is_private | ( | ) | [inline] |
Definition at line 7629 of file HttpSM.cc.
References HttpClientSession::get_server_session(), HttpServerSession::private_session, server_session, and ua_session.
Referenced by do_http_server_open().
bool HttpSM::is_redirect_required | ( | ) | [inline] |
Definition at line 7645 of file HttpSM.cc.
References DebugSM, enable_redirection, HttpTransact::State::hdr_info, HTTP_STATUS_MOVED_PERMANENTLY, HTTP_STATUS_MOVED_TEMPORARILY, HTTP_STATUS_MULTIPLE_CHOICES, HTTP_STATUS_SEE_OTHER, HTTP_STATUS_TEMPORARY_REDIRECT, HTTP_STATUS_USE_PROXY, HttpConfig::m_master, HttpConfigParams::number_of_redirections, redirect_url, redirection_tries, and t_state.
Referenced by do_redirect(), and set_next_state().
bool HttpSM::is_transparent_passthrough_allowed | ( | ) | [inline, protected] |
Definition at line 637 of file HttpSM.h.
References HttpTransact::State::client_info, HttpClientSession::f_transparent_passthrough, HttpClientSession::get_transact_count(), t_state, and ua_session.
Referenced by attach_client_session(), and state_read_client_request_header().
void HttpSM::issue_cache_update | ( | ) | [protected] |
Definition at line 5479 of file HttpSM.cc.
References HttpTransact::State::cache_info, cache_sm, HttpCacheSM::cache_write_vc, HttpCacheSM::close_write(), ink_assert, HttpTransact::State::request_sent_time, HttpTransact::State::response_received_time, and t_state.
Referenced by perform_cache_write_action(), and set_next_state().
void HttpSM::kill_this | ( | ) | [protected] |
Definition at line 6452 of file HttpSM.cc.
References HttpTransact::State::api_next_action, ats_free(), cache_sm, callout_state, Action::cancel(), HttpVCTable::cleanup_all(), HttpTransact::State::congestion_congested_or_failed, HttpTunnel::deallocate_buffers(), HttpTunnel::deallocate_redirect_postdata_buffers(), debug_sm_list_mutex, DebugSM, destroy(), do_api_callout(), HttpConfigParams::enable_http_stats, enable_redirection, HttpCacheSM::end_both(), CongestionEntry::go_alive(), hooks_set, HTTP_API_NO_CALLOUT, HttpTransact::State::http_config_param, HTTP_SM_SET_DEFAULT_HANDLER, ink_assert, ink_mutex_acquire(), ink_mutex_release(), ink_release_assert, HttpVCTable::is_table_clear(), HttpTunnel::is_tunnel_active(), PluginVCCore::kill_no_connect(), kill_this_async_done, HttpTransact::State::pCongestionEntry, pending_action, plugin_agents_cleanup(), plugin_tunnel, post_transform_info, redirect_url, redirect_url_len, reentrancy_count, DLL< C, L >::remove(), second_cache_sm, server_session, sm_id, t_state, terminate_sm, transform_cache_sm, transform_cleanup(), transform_info, TS_HTTP_REQUEST_TRANSFORM_HOOK, TS_HTTP_RESPONSE_TRANSFORM_HOOK, tunnel, ua_session, update_stats(), and vc_table.
Referenced by attach_client_session(), main_handler(), and state_api_callback().
int HttpSM::kill_this_async_hook | ( | int | event, | |
void * | data | |||
) | [protected, virtual] |
Reimplemented in HttpUpdateSM.
Definition at line 503 of file HttpSM.cc.
References kill_this_async_done, and terminate_sm.
Referenced by state_remove_from_list().
HttpSM::LINK | ( | HttpSM | , | |
debug_link | ||||
) |
int HttpSM::main_handler | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2516 of file HttpSM.cc.
References DebugSM, default_handler, HttpVCTable::find_entry(), HttpDebugNames::get_event_name(), HTTP_SM_MAGIC_ALIVE, ink_assert, ink_release_assert, kill_this(), magic, reentrancy_count, sm_id, terminate_sm, HttpVCTableEntry::vc, VC_EVENT_CONT, VC_EVENT_EVENTS_START, HttpVCTableEntry::vc_handler, and vc_table.
Referenced by init().
void HttpSM::mark_host_failure | ( | HostDBInfo * | info, | |
time_t | time_down | |||
) | [protected] |
Definition at line 4861 of file HttpSM.cc.
References HostDBInfo::app, HttpTransact::State::arena, ats_ip_nptop(), ats_ip_ntop(), HttpTransact::State::current, DebugSM, OverridableHttpConfigParams::down_server_timeout, Log::error(), HttpTransact::State::hdr_info, HostDBApplicationInfo::http_data, INET6_ADDRPORTSTRLEN, ink_assert, ink_cluster_time(), HostDBApplicationInfo::http_server_attr::last_failure, sm_id, Arena::str_free(), t_state, and HttpTransact::State::txn_conf.
Referenced by do_hostdb_update_if_necessary(), and state_mark_os_down().
void HttpSM::mark_server_down_on_client_abort | ( | ) | [protected] |
Definition at line 4920 of file HttpSM.cc.
References OverridableHttpConfigParams::client_abort_threshold, HttpTransact::State::current, do_hostdb_update_if_necessary(), HttpTransact::State::hdr_info, ink_get_hrtime(), ink_hrtime_to_sec(), milestones, HttpTransact::ORIGIN_SERVER, TransactionMilestones::server_first_connect, TransactionMilestones::server_first_read, t_state, and HttpTransact::State::txn_conf.
Referenced by state_watch_for_client_abort().
void HttpSM::parse_range_and_compare | ( | MIMEField * | field, | |
int64_t | content_length | |||
) |
Definition at line 4074 of file HttpSM.cc.
References _RangeRecord::_end, _RangeRecord::_start, HdrCsvIter::get_first(), HdrCsvIter::get_next(), ink_assert, INT64_MAX, is_ws(), HttpTransact::State::num_range_fields, ptr_len_ncmp(), HttpTransact::RANGE_NONE, HttpTransact::State::range_setup, HttpTransact::State::ranges, start, and t_state.
Referenced by do_range_parse().
void HttpSM::perform_cache_write_action | ( | ) | [protected] |
Definition at line 5404 of file HttpSM.cc.
References HttpCacheSM::abort_write(), HttpTransact::State::api_info, HttpTransact::CACHE_DO_DELETE, HttpTransact::CACHE_DO_NO_ACTION, HttpTransact::CACHE_DO_REPLACE, HttpTransact::CACHE_DO_SERVE, HttpTransact::CACHE_DO_SERVE_AND_DELETE, HttpTransact::CACHE_DO_SERVE_AND_UPDATE, HttpTransact::CACHE_DO_UPDATE, HttpTransact::CACHE_DO_WRITE, HttpTransact::State::cache_info, cache_sm, _HttpApiInfo::cache_untransformed, HttpCacheSM::cache_write_vc, client_response_hdr_bytes, HttpCacheSM::close_read(), HttpCacheSM::close_write(), DebugSM, HttpCacheSM::end_both(), HttpTransformInfo::entry, HttpDebugNames::get_cache_action_name(), ink_assert, ink_release_assert, issue_cache_update(), server_entry, setup_cache_write_transfer(), sm_id, t_state, transform_cache_sm, transform_info, and HttpVCTableEntry::vc.
Referenced by HttpUpdateSM::handle_api_return(), handle_api_return(), and set_next_state().
void HttpSM::perform_nca_cache_action | ( | ) | [protected] |
void HttpSM::perform_transform_cache_write_action | ( | ) | [protected] |
Definition at line 5364 of file HttpSM.cc.
References HttpTransact::CACHE_DO_NO_ACTION, HttpTransact::CACHE_DO_WRITE, HttpTransact::State::cache_info, client_response_hdr_bytes, HttpCacheSM::close_read(), DebugSM, HttpCacheSM::end_both(), HttpTransformInfo::entry, HttpDebugNames::get_cache_action_name(), ink_release_assert, HttpTransact::State::range_setup, setup_cache_write_transfer(), sm_id, t_state, transform_cache_sm, transform_info, and HttpVCTableEntry::vc.
Referenced by handle_api_return(), and setup_transfer_from_transform_to_cache_only().
void HttpSM::plugin_agents_cleanup | ( | ) | [protected] |
Definition at line 6426 of file HttpSM.cc.
References INKVConnInternal::do_io_close(), has_active_plugin_agents, APIHook::m_cont, APIHook::next(), TS_HTTP_RESPONSE_CLIENT_HOOK, and txn_hook_get().
Referenced by kill_this().
void HttpSM::process_hostdb_info | ( | HostDBInfo * | r | ) |
Definition at line 2015 of file HttpSM.cc.
References HostDBApplicationInfo::allotment, HttpTransact::State::api_txn_dns_timeout_value, HostDBInfo::app, HostDBApplicationInfo::application_data_allotment::application1, HostDBApplicationInfo::application_data_allotment::application2, ats_ip_addr_eq(), ats_ip_copy(), ats_is_ip(), HttpTransact::State::client_info, HostDBInfo::data, DebugSM, HttpTransact::State::dns_info, TransactionMilestones::dns_lookup_begin, TransactionMilestones::dns_lookup_end, OverridableHttpConfigParams::down_server_timeout, HostDBInfo::failed(), HostDBRoundRobin::find_ip(), NetVConnection::get_local_addr(), HttpClientSession::get_netvc(), HttpTransact::State::host_db_info, hostDBProcessor, HttpTransact::State::http_config_param, HostDBApplicationInfo::http_data, HostDBRoundRobin::info, ink_assert, ink_cluster_time(), ink_get_hrtime(), ink_release_assert, HostDBInfo::ip, is_debug_tag_set, HostDBApplicationInfo::http_server_attr::last_failure, milestone_difference_msec(), milestones, HttpTransact::_DNSLookupInfo::OS_ADDR_TRY_DEFAULT, HostDBInfo::reverse_dns, HostDBInfo::round_robin, HostDBInfo::rr(), HostDBRoundRobin::rrcount, IpEndpoint::sa, HostDBRoundRobin::select_best_http(), HostDBProcessor::setby_srv(), sm_id, HttpTransact::State::state_machine, t_state, HttpTransact::State::txn_conf, ua_session, and HttpConfigParams::use_client_target_addr.
Referenced by do_hostdb_lookup(), and state_hostdb_lookup().
void HttpSM::process_srv_info | ( | HostDBInfo * | r | ) |
Definition at line 1978 of file HttpSM.cc.
References HostDBInfo::app, HostDBInfo::data, DebugSM, HttpTransact::State::dns_info, OverridableHttpConfigParams::down_server_timeout, EThread::generator, ink_assert, ink_cluster_time(), HostDBInfo::is_srv, SRVInfo::key, Ptr< T >::m_ptr, makeHostHash(), HostDBInfo::md5_high, HostDBInfo::md5_low, HostDBInfo::md5_low_low, Continuation::mutex, HostDBInfo::round_robin, HostDBInfo::rr(), HostDBRoundRobin::select_best_srv(), HostDBInfo::srv, HttpTransact::State::srv_lookup, SRVInfo::srv_port, t_state, ProxyMutex::thread_holding, and HttpTransact::State::txn_conf.
Referenced by do_hostdb_lookup(), state_hostdb_lookup(), and state_srv_lookup().
void HttpSM::redirect_request | ( | const char * | redirect_url, | |
const int | redirect_len | |||
) | [protected] |
Definition at line 7412 of file HttpSM.cc.
References HttpTransact::State::api_release_server_session, HttpTransact::State::cache_info, URL::copy(), URL::create(), DebugSM, HttpTransact::State::dns_info, DUMP_HEADER, HttpTransact::State::force_dns, HttpTransact::State::hdr_info, hdrtoken_index_to_length(), hdrtoken_index_to_wks(), URL::host_get(), ink_small_itoa(), ink_strlcat(), ink_strlcpy(), HttpConfig::m_master, URL::m_url_impl, memcpy, MIME_FIELD_HOST, MIME_LEN_HOST, MIME_PRESENCE_HOST, HttpTransact::State::next_action, HttpTransact::State::next_hop_scheme, HttpTransact::State::parent_result, URL::parse(), URL::port_get(), ParentResult::r, HttpTransact::State::redirect_info, HttpConfigParams::redirection_host_no_port, HttpTransact::State::request_sent_time, HttpTransact::State::response_received_time, URL::scheme_get(), URL::scheme_get_wksidx(), URL::scheme_set(), sm_id, t_state, HTTPHdr::url_get(), url_nuke_proxy_stuff(), URL_WKSIDX_HTTP, URL_WKSIDX_HTTPS, and URL::valid().
Referenced by do_redirect().
void HttpSM::release_server_session | ( | bool | serve_from_cache = false |
) | [protected] |
Definition at line 4958 of file HttpSM.cc.
References HttpServerSession::attach_hostname(), HttpClientSession::attach_server_session(), HttpTransact::CACHE_AUTH_NONE, HttpVCTable::cleanup_entry(), HttpTransact::State::current, HttpServerSession::do_io_close(), HttpTransact::State::hdr_info, http_current_server_transactions_stat, HTTP_DECREMENT_DYN_STAT, HTTP_KEEPALIVE, HTTP_STATUS_NOT_MODIFIED, HTTP_WKSIDX_HEAD, HttpVCTableEntry::in_tunnel, ink_assert, plugin_tunnel_type, HttpServerSession::release(), server_entry, server_session, OverridableHttpConfigParams::server_session_sharing_match, HttpServerSession::server_trans_stat, t_state, TS_SERVER_SESSION_SHARING_MATCH_NONE, HttpTransact::State::txn_conf, ua_session, HttpVCTableEntry::vc, vc_table, and HttpTransact::State::www_auth_content.
Referenced by handle_api_return(), set_next_state(), and state_api_callout().
void HttpSM::remove_server_entry | ( | ) | [inline, protected] |
Definition at line 566 of file HttpSM.h.
References HttpVCTable::remove_entry(), server_entry, and vc_table.
void HttpSM::remove_ua_entry | ( | ) | [inline, protected] |
Definition at line 559 of file HttpSM.h.
References HttpVCTable::remove_entry(), ua_entry, and vc_table.
int64_t HttpSM::server_transfer_init | ( | MIOBuffer * | buf, | |
int | hdr_size | |||
) | [protected] |
Definition at line 6009 of file HttpSM.cc.
References IOBufferReader::consume(), HttpTransact::State::current, HttpVCTableEntry::eos, HttpTransact::State::hdr_info, HTTP_UNDEFINED_CL, ink_assert, IOBufferReader::read_avail(), HttpServerSession::reset_read_buffer(), server_buffer_reader, server_entry, server_session, t_state, and MIOBuffer::write().
Referenced by setup_server_transfer(), setup_server_transfer_to_cache_only(), and setup_server_transfer_to_transform().
void HttpSM::set_http_schedule | ( | Continuation * | contp | ) |
Definition at line 7584 of file HttpSM.cc.
References get_http_schedule(), HTTP_SM_SET_DEFAULT_HANDLER, and schedule_cont.
Referenced by TSHttpSchedule().
void HttpSM::set_next_state | ( | ) | [protected, virtual] |
Reimplemented in HttpUpdateSM.
Definition at line 6865 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::api_info, HttpTransact::State::api_next_action, HttpTransact::State::api_server_addr_set, HttpTransact::State::api_update_cached_object, HostDBInfo::app, ats_ip_copy(), ats_ip_ntop(), ats_is_ip(), HttpTransact::CACHE_DO_SERVE, HttpTransact::CACHE_DO_SERVE_AND_DELETE, HttpTransact::CACHE_DO_SERVE_AND_UPDATE, HttpTransact::State::cache_info, HttpTransact::CACHE_PREPARE_TO_WRITE, cache_sm, _HttpApiInfo::cache_untransformed, HttpCacheSM::cache_write_vc, call_transact_and_set_next_state(), NetVConnection::cancel_inactivity_timeout(), HttpVCTable::cleanup_entry(), HttpTransact::State::client_info, HttpCacheSM::close_read(), HttpTransact::State::congest_saved_next_action, congestionControlEnabled, HttpTransact::State::cop_test_page, DebugSM, HttpTransact::State::dns_info, do_api_callout(), do_api_callout_internal(), do_cache_delete_all_alts(), do_cache_lookup_and_read(), do_cache_prepare_update(), do_cache_prepare_write(), do_cache_prepare_write_transform(), do_congestion_control_lookup(), do_hostdb_lookup(), do_hostdb_reverse_lookup(), do_hostdb_update_if_necessary(), do_http_server_open(), do_icp_lookup(), do_redirect(), do_remap_request(), HttpCacheSM::end_both(), RemapProcessor::finish_remap(), HttpTransact::State::first_dns_lookup, NetVConnection::get_local_addr(), HttpClientSession::get_netvc(), handle_api_return(), StatPagesManager::handle_http(), HttpTransact::HandleFiltering(), HttpTransact::State::hdr_info, historical_action, hooks_set, HttpTransact::State::host_db_info, HttpTransact::State::http_config_param, HostDBApplicationInfo::http_data, HTTP_SERVER_VC, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_TYPE_RESPONSE, HostDBApplicationInfo::http_server_attr::http_version, HostDBApplicationInfo::HTTP_VERSION_09, HostDBApplicationInfo::HTTP_VERSION_10, HostDBApplicationInfo::HTTP_VERSION_11, HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, HostDBInfo::ip, is_debug_tag_set, is_redirect_required(), issue_cache_update(), HttpTransact::State::next_action, HttpConfigParams::no_dns_forward_to_parent, HttpTransact::ORIGIN_SERVER, HttpTransact::_DNSLookupInfo::OS_ADDR_TRY_CLIENT, HttpTransact::_DNSLookupInfo::OS_ADDR_TRY_DEFAULT, HttpTransact::State::parent_result, PARENT_SPECIFIED, PARENT_UNDEFINED, pending_action, perform_cache_write_action(), ParentResult::r, release_server_session(), remapProcessor, server_entry, HttpTransact::State::server_info, server_session, setup_100_continue_transfer(), setup_blind_tunnel(), setup_cache_transfer_to_transform(), setup_error_transfer(), setup_push_read_response_header(), setup_push_transfer_to_cache(), setup_server_read_response_header(), setup_server_transfer_to_transform(), HttpTransact::SM_ACTION_API_CACHE_LOOKUP_COMPLETE, HttpTransact::SM_ACTION_API_OS_DNS, HttpTransact::SM_ACTION_API_POST_REMAP, HttpTransact::SM_ACTION_API_PRE_REMAP, HttpTransact::SM_ACTION_API_READ_CACHE_HDR, HttpTransact::SM_ACTION_API_READ_REQUEST_HDR, HttpTransact::SM_ACTION_API_READ_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SEND_REQUEST_HDR, HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR, HttpTransact::SM_ACTION_CACHE_ISSUE_UPDATE, HttpTransact::SM_ACTION_CACHE_ISSUE_WRITE, HttpTransact::SM_ACTION_CACHE_ISSUE_WRITE_TRANSFORM, HttpTransact::SM_ACTION_CACHE_LOOKUP, HttpTransact::SM_ACTION_CACHE_PREPARE_UPDATE, HttpTransact::SM_ACTION_CONTINUE, HttpTransact::SM_ACTION_DNS_LOOKUP, HttpTransact::SM_ACTION_DNS_REVERSE_LOOKUP, HttpTransact::SM_ACTION_ICP_QUERY, HttpTransact::SM_ACTION_INTERNAL_100_RESPONSE, HttpTransact::SM_ACTION_INTERNAL_CACHE_DELETE, HttpTransact::SM_ACTION_INTERNAL_CACHE_NOOP, HttpTransact::SM_ACTION_INTERNAL_CACHE_UPDATE_HEADERS, HttpTransact::SM_ACTION_INTERNAL_CACHE_WRITE, HttpTransact::SM_ACTION_INTERNAL_REQUEST, HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN, HttpTransact::SM_ACTION_ORIGIN_SERVER_RAW_OPEN, HttpTransact::SM_ACTION_ORIGIN_SERVER_RR_MARK_DOWN, HttpTransact::SM_ACTION_POST_REMAP_SKIP, HttpTransact::SM_ACTION_READ_PUSH_HDR, HttpTransact::SM_ACTION_REMAP_REQUEST, HttpTransact::SM_ACTION_SEND_ERROR_CACHE_NOOP, HttpTransact::SM_ACTION_SERVE_FROM_CACHE, HttpTransact::SM_ACTION_SERVER_PARSE_NEXT_HDR, HttpTransact::SM_ACTION_SERVER_READ, HttpTransact::SM_ACTION_SSL_TUNNEL, HttpTransact::SM_ACTION_STORE_PUSH_BODY, HttpTransact::SM_ACTION_TRANSFORM_READ, HttpTransact::SM_ACTION_UNDEFINED, sm_id, HttpTransact::State::source, state_cache_open_read(), state_cache_open_write(), state_congestion_control_lookup(), state_handle_stat_page(), state_hostdb_lookup(), state_hostdb_reverse_lookup(), state_http_server_open(), state_icp_lookup(), HttpTransact::State::state_machine, state_mark_os_down(), state_raw_http_server_open(), state_remap_request(), statPagesManager, t_state, transform_cache_sm, transform_info, tunnel, HttpTunnel::tunnel_run(), ua_session, HttpTransact::UNDEFINED_LOOKUP, HttpTransact::UPDATE_CACHED_OBJECT_CONTINUE, HttpTransact::UPDATE_CACHED_OBJECT_ERROR, HttpTransact::URL_REMAP_FOR_OS, url_remap_mode, HttpTransact::State::url_remap_success, HttpConfigParams::use_client_target_addr, RemapProcessor::using_separate_thread(), HttpTransformInfo::vc, vc_table, and HttpVCTableEntry::vc_type.
Referenced by call_transact_and_set_next_state(), and state_congestion_control_lookup().
bool HttpSM::set_server_session_private | ( | bool | private_session | ) |
Definition at line 7619 of file HttpSM.cc.
References HttpServerSession::private_session, and server_session.
Referenced by TSHttpTxnPrivateSessionSet(), and tunnel_handler_post_ua().
void HttpSM::set_ua_abort | ( | HttpTransact::AbortState_t | ua_abort, | |
int | event | |||
) | [protected] |
Definition at line 4889 of file HttpSM.cc.
References HttpTransact::ABORTED, HttpTransact::State::client_info, HttpTransact::MAYBE_ABORTED, HttpTransact::State::squid_codes, t_state, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_ERROR, and VC_EVENT_INACTIVITY_TIMEOUT.
Referenced by state_read_client_request_header(), state_watch_for_client_abort(), tunnel_handler_100_continue_ua(), tunnel_handler_post_ua(), and tunnel_handler_ua().
void HttpSM::set_ua_half_close_flag | ( | ) |
Definition at line 435 of file HttpSM.cc.
References HttpClientSession::set_half_close_flag(), and ua_session.
Referenced by HttpTransact::HandlePushError(), and TSHttpTxnCloseAfterResponse().
void HttpSM::setup_100_continue_transfer | ( | ) | [protected] |
Definition at line 5822 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTransact::State::client_info, client_response_hdr_bytes, HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_STATIC, HTTP_HEADER_BUFFER_SIZE_INDEX, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_TUNNEL_STATIC_PRODUCER, HttpVCTableEntry::in_tunnel, ink_assert, new_MIOBuffer, t_state, tunnel, tunnel_handler_100_continue(), tunnel_handler_100_continue_ua(), HttpTunnel::tunnel_run(), ua_entry, HttpVCTableEntry::vc, and write_header_into_buffer().
Referenced by set_next_state().
void HttpSM::setup_blind_tunnel | ( | bool | send_response_hdr | ) | [protected] |
Definition at line 6342 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), BUFFER_SIZE_INDEX_32K, HttpTunnel::chain(), client_request_body_bytes, client_request_hdr_bytes, client_response_hdr_bytes, IOBufferReader::dealloc(), HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_HTTP_SERVER, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_get_hrtime(), milestones, new_MIOBuffer, TransactionMilestones::server_begin_write, server_entry, t_state, tunnel, tunnel_handler(), tunnel_handler_ssl_consumer(), tunnel_handler_ssl_producer(), HttpTunnel::tunnel_run(), ua_buffer_reader, ua_entry, ua_raw_buffer_reader, HttpVCTableEntry::vc, MIOBuffer::write(), and write_response_header_into_buffer().
Referenced by handle_api_return(), and set_next_state().
void HttpSM::setup_blind_tunnel_port | ( | ) | [protected] |
Definition at line 607 of file HttpSM.cc.
References call_transact_and_set_next_state(), and HttpTransact::HandleBlindTunnel().
Referenced by handle_api_return(), and state_read_client_request_header().
void HttpSM::setup_cache_lookup_complete_api | ( | ) | [inline, protected] |
Definition at line 2446 of file HttpSM.cc.
References HttpTransact::State::api_next_action, do_api_callout(), and t_state.
Referenced by state_cache_open_read().
void HttpSM::setup_cache_read_transfer | ( | ) | [protected] |
Definition at line 5718 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), MIOBuffer::append_block(), buffer_size_to_index(), HttpTransact::State::cache_info, HttpCacheSM::cache_read_vc, cache_response_hdr_bytes, cache_sm, HttpTransact::State::client_info, client_response_hdr_bytes, OverridableHttpConfigParams::default_buffer_water_mark, HttpTransact::State::hdr_info, HT_CACHE_READ, HT_HTTP_CLIENT, OverridableHttpConfigParams::http_chunking_size, HTTP_HEADER_BUFFER_SIZE_INDEX, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, index_to_buffer_size(), ink_assert, INT64_MAX, new_empty_MIOBuffer, new_MIOBuffer, HttpTunnel::set_producer_chunking_action(), HttpTunnel::set_producer_chunking_size(), t_state, TCA_CHUNK_CONTENT, tunnel, tunnel_handler(), tunnel_handler_cache_read(), tunnel_handler_ua(), HttpTransact::State::txn_conf, ua_entry, HttpVCTableEntry::vc, MIOBuffer::water_mark, and write_response_header_into_buffer().
Referenced by handle_api_return().
HttpTunnelProducer * HttpSM::setup_cache_transfer_to_transform | ( | ) | [protected] |
Definition at line 5766 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), buffer_size_to_index(), HttpTransact::State::cache_info, HttpCacheSM::cache_read_vc, cache_response_hdr_bytes, cache_sm, HttpTransformInfo::entry, HttpTransact::State::hdr_info, HT_CACHE_READ, HT_TRANSFORM, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_assert, new_MIOBuffer, state_response_wait_for_transform_read(), t_state, transform_info, tunnel, tunnel_handler_cache_read(), tunnel_handler_transform_write(), HttpVCTableEntry::vc, and HttpTransformInfo::vc.
Referenced by set_next_state().
void HttpSM::setup_cache_write_transfer | ( | HttpCacheSM * | c_sm, | |
VConnection * | source_vc, | |||
HTTPInfo * | store_info, | |||
int64_t | skip_bytes, | |||
const char * | name | |||
) | [protected] |
Definition at line 5802 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpCacheSM::cache_write_vc, HTTPInfo::clear(), HT_CACHE_WRITE, ink_assert, HttpTransact::State::request_sent_time, HTTPInfo::request_sent_time_set(), HttpTransact::State::response_received_time, HTTPInfo::response_received_time_set(), t_state, tunnel, and tunnel_handler_cache_write().
Referenced by perform_cache_write_action(), perform_transform_cache_write_action(), setup_push_transfer_to_cache(), and setup_server_transfer_to_cache_only().
void HttpSM::setup_client_header_nca | ( | ) | [protected] |
void HttpSM::setup_client_read_request_header | ( | ) | [protected] |
Definition at line 595 of file HttpSM.cc.
References HttpClientSession::do_io_read(), Continuation::handleEvent(), ink_assert, INT64_MAX, IOBufferReader::mbuf, IOBufferReader::read_avail(), HttpVCTableEntry::read_vio, state_read_client_request_header(), ua_buffer_reader, ua_entry, ua_session, VC_EVENT_READ_READY, and HttpVCTableEntry::vc_handler.
Referenced by handle_api_return().
void HttpSM::setup_error_transfer | ( | ) | [protected] |
Definition at line 5864 of file HttpSM.cc.
References HttpTransact::State::api_next_action, HttpVCTable::cleanup_entry(), DebugSM, do_api_callout(), ink_assert, HttpTransact::State::internal_msg_buffer, HttpTransact::State::internal_msg_buffer_size, HttpTransact::State::source, t_state, terminate_sm, ua_entry, ua_session, and vc_table.
Referenced by set_next_state().
void HttpSM::setup_internal_transfer | ( | HttpSMHandler | handler | ) | [protected] |
Definition at line 5883 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), MIOBuffer::append_fast_allocated(), MIOBuffer::append_xmalloced(), ats_free(), buffer_size_to_index(), client_response_hdr_bytes, HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_STATIC, HTTP_HEADER_BUFFER_SIZE_INDEX, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_TUNNEL_STATIC_PRODUCER, HTTP_WKSIDX_HEAD, HttpVCTableEntry::in_tunnel, index_to_buffer_size(), ink_assert, HttpTransact::State::internal_msg_buffer, HttpTransact::State::internal_msg_buffer_fast_allocator_size, HttpTransact::State::internal_msg_buffer_size, HttpTransact::State::internal_msg_buffer_type, is_response_body_precluded(), HttpTransact::State::method, MIME_FIELD_CONTENT_TYPE, MIME_LEN_CONTENT_TYPE, new_MIOBuffer, HttpTransact::State::source, t_state, tunnel, tunnel_handler_ua(), HttpTunnel::tunnel_run(), ua_entry, HttpVCTableEntry::vc, and write_response_header_into_buffer().
Referenced by handle_api_return().
void HttpSM::setup_plugin_agents | ( | HttpTunnelProducer * | p | ) | [protected] |
Definition at line 6399 of file HttpSM.cc.
References HttpTunnel::add_consumer(), has_active_plugin_agents, HT_HTTP_CLIENT, APIHook::m_cont, APIHook::next(), TS_HTTP_RESPONSE_CLIENT_HOOK, tunnel, tunnel_handler_plugin_agent(), txn_hook_get(), and HttpTunnelProducer::vc.
Referenced by setup_server_transfer(), and setup_transfer_from_transform().
void HttpSM::setup_push_read_response_header | ( | ) | [protected] |
Definition at line 886 of file HttpSM.cc.
References client_request_body_bytes, HttpClientSession::do_io_read(), HttpVCTableEntry::eos, HttpTransact::State::hdr_info, http_parser, http_parser_clear(), HTTP_TYPE_RESPONSE, HTTP_WKSIDX_PUSH, ink_assert, INT64_MAX, IOBufferReader::mbuf, HttpTransact::State::method, pushed_response_hdr_bytes, IOBufferReader::read_avail(), HttpVCTableEntry::read_vio, server_entry, server_session, state_read_push_response_header(), t_state, ua_buffer_reader, ua_entry, ua_session, VC_EVENT_CONT, VC_EVENT_EOS, VC_EVENT_READ_READY, and HttpVCTableEntry::vc_handler.
Referenced by set_next_state().
void HttpSM::setup_push_transfer_to_cache | ( | ) | [protected] |
Definition at line 6300 of file HttpSM.cc.
References HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTransact::State::cache_info, cache_sm, client_request_body_bytes, IOBufferReader::consume(), HttpVCTableEntry::eos, find_http_resp_buffer_size(), HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_UNDEFINED_CL, HttpVCTableEntry::in_tunnel, ink_release_assert, new_MIOBuffer, pushed_response_body_bytes, pushed_response_hdr_bytes, IOBufferReader::read_avail(), setup_cache_write_transfer(), t_state, terminate_sm, tunnel, tunnel_handler_push(), tunnel_handler_ua_push(), ua_buffer_reader, ua_entry, HttpVCTableEntry::vc, and MIOBuffer::write().
Referenced by set_next_state().
void HttpSM::setup_server_read_response_header | ( | ) | [protected] |
Definition at line 5648 of file HttpSM.cc.
References HttpTransact::State::current, HttpServerSession::do_io_read(), HttpVCTableEntry::eos, HttpTransact::State::hdr_info, http_parser, http_parser_clear(), HTTP_TYPE_RESPONSE, ink_assert, INT64_MAX, IOBufferReader::mbuf, milestones, VIO::nbytes, VIO::ndone, IOBufferReader::read_avail(), HttpVCTableEntry::read_vio, HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, server_buffer_reader, server_entry, TransactionMilestones::server_read_header_done, server_response_hdr_bytes, server_session, state_read_server_response_header(), HttpTransact::STATE_UNDEFINED, t_state, ua_session, VC_EVENT_EOS, VC_EVENT_READ_READY, and HttpVCTableEntry::vc_handler.
Referenced by handle_post_failure(), set_next_state(), state_send_server_request_header(), tunnel_handler_100_continue(), and tunnel_handler_post().
void HttpSM::setup_server_send_request | ( | ) | [protected] |
Definition at line 5606 of file HttpSM.cc.
References MIOBuffer::alloc_reader(), HttpTransact::State::api_server_request_body_set, OverridableHttpConfigParams::auth_server_session_private, DebugSM, VConnection::do_io_write(), DUMP_HEADER, HttpTransact::State::hdr_info, hsm_release_assert, HTTP_HEADER_BUFFER_SIZE_INDEX, ink_get_hrtime(), HttpTransact::State::internal_msg_buffer, HttpTransact::State::internal_msg_buffer_size, milestones, MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH, MIME_PRESENCE_AUTHORIZATION, MIME_PRESENCE_PROXY_AUTHORIZATION, MIME_PRESENCE_WWW_AUTHENTICATE, new_MIOBuffer, HttpServerSession::private_session, TransactionMilestones::server_begin_write, server_entry, server_request_body_bytes, server_request_hdr_bytes, server_session, sm_id, HttpTransact::State::state_machine_id, t_state, HttpTransact::State::txn_conf, HttpVCTableEntry::vc, HttpVCTableEntry::vc_handler, MIOBuffer::write(), HttpVCTableEntry::write_buffer, write_header_into_buffer(), and HttpVCTableEntry::write_vio.
Referenced by handle_api_return().
void HttpSM::setup_server_send_request_api | ( | ) | [protected] |
Definition at line 5599 of file HttpSM.cc.
References HttpTransact::State::api_next_action, do_api_callout(), and t_state.
Referenced by handle_http_server_open(), and state_request_wait_for_transform_read().
void HttpSM::setup_server_transfer | ( | ) | [protected] |
Definition at line 6209 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), MIOBuffer::append_block(), HttpTransact::CHUNKED_ENCODING, HttpTransact::State::client_info, client_response_hdr_bytes, HttpTransact::State::current, DebugSM, OverridableHttpConfigParams::default_buffer_water_mark, find_server_buffer_size(), HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_HTTP_SERVER, OverridableHttpConfigParams::http_chunking_size, HTTP_HEADER_BUFFER_SIZE_INDEX, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_assert, MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH, HttpTransact::State::negative_caching, new_empty_MIOBuffer, new_MIOBuffer, server_entry, server_transfer_init(), HttpTunnel::set_producer_chunking_action(), HttpTunnel::set_producer_chunking_size(), setup_plugin_agents(), t_state, TCA_CHUNK_CONTENT, TCA_PASSTHRU_CHUNKED_CONTENT, tunnel, tunnel_handler(), tunnel_handler_server(), tunnel_handler_ua(), HttpTransact::State::txn_conf, ua_entry, HttpVCTableEntry::vc, MIOBuffer::water_mark, MIOBuffer::write(), and write_response_header_into_buffer().
Referenced by handle_api_return().
void HttpSM::setup_server_transfer_to_cache_only | ( | ) | [protected] |
Definition at line 6176 of file HttpSM.cc.
References HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTransact::State::cache_info, cache_sm, HttpTransact::State::current, find_server_buffer_size(), HT_HTTP_SERVER, OverridableHttpConfigParams::http_chunking_size, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, new_MIOBuffer, server_entry, server_transfer_init(), HttpTunnel::set_producer_chunking_action(), HttpTunnel::set_producer_chunking_size(), setup_cache_write_transfer(), t_state, TCA_DECHUNK_CONTENT, TCA_PASSTHRU_DECHUNKED_CONTENT, tunnel, tunnel_handler(), tunnel_handler_server(), HttpTransact::State::txn_conf, and HttpVCTableEntry::vc.
Referenced by tunnel_handler_cache_fill().
HttpTunnelProducer * HttpSM::setup_server_transfer_to_transform | ( | ) | [protected] |
Definition at line 6060 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTransact::CHUNKED_ENCODING, client_response_hdr_bytes, HttpTransact::State::current, HttpTransformInfo::entry, find_server_buffer_size(), HttpTransact::State::hdr_info, HT_HTTP_SERVER, HT_TRANSFORM, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, HttpTransact::State::negative_caching, new_MIOBuffer, server_entry, server_transfer_init(), HttpTunnel::set_producer_chunking_action(), state_response_wait_for_transform_read(), t_state, TCA_DECHUNK_CONTENT, transform_info, tunnel, tunnel_handler_server(), tunnel_handler_transform_write(), HttpTransformInfo::vc, HttpVCTableEntry::vc, and MIOBuffer::write().
Referenced by set_next_state().
HttpTunnelProducer * HttpSM::setup_transfer_from_transform | ( | ) | [protected] |
Definition at line 6100 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTunnel::chain(), HttpTransact::State::client_info, client_response_hdr_bytes, OverridableHttpConfigParams::default_buffer_water_mark, HttpTransformInfo::entry, find_server_buffer_size(), HttpTunnel::get_consumer(), HttpTransact::State::hdr_info, HT_HTTP_CLIENT, HT_TRANSFORM, OverridableHttpConfigParams::http_chunking_size, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_assert, INT64_MAX, new_MIOBuffer, HttpTunnel::set_producer_chunking_action(), HttpTunnel::set_producer_chunking_size(), setup_plugin_agents(), t_state, TCA_CHUNK_CONTENT, transform_info, tunnel, tunnel_handler(), tunnel_handler_transform_read(), tunnel_handler_ua(), HttpTransact::State::txn_conf, ua_entry, HttpVCTableEntry::vc, HttpTunnelConsumer::vc, HttpTransformInfo::vc, HttpTunnelConsumer::vc_type, MIOBuffer::water_mark, and write_response_header_into_buffer().
Referenced by handle_api_return().
HttpTunnelProducer * HttpSM::setup_transfer_from_transform_to_cache_only | ( | ) | [protected] |
Definition at line 6145 of file HttpSM.cc.
References HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), HttpTransact::CACHE_DO_WRITE, HttpTransact::State::cache_info, HttpTunnel::chain(), HttpTransformInfo::entry, find_server_buffer_size(), HttpTunnel::get_consumer(), HT_TRANSFORM, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_assert, INT64_MAX, new_MIOBuffer, perform_transform_cache_write_action(), t_state, transform_info, tunnel, tunnel_handler(), tunnel_handler_transform_read(), HttpTunnelConsumer::vc, HttpTransformInfo::vc, and HttpTunnelConsumer::vc_type.
Referenced by HttpUpdateSM::handle_api_return().
void HttpSM::setup_transform_to_server_transfer | ( | ) | [protected] |
Definition at line 5213 of file HttpSM.cc.
References HttpTunnel::add_consumer(), HttpTunnel::add_producer(), MIOBuffer::alloc_reader(), buffer_size_to_index(), HttpTunnel::chain(), HttpTransformInfo::entry, HttpTunnel::get_consumer(), HttpTransact::State::hdr_info, HT_HTTP_SERVER, HT_TRANSFORM, HTTP_SM_SET_DEFAULT_HANDLER, HttpVCTableEntry::in_tunnel, ink_assert, new_MIOBuffer, post_transform_info, server_entry, t_state, tunnel, tunnel_handler_post(), tunnel_handler_post_server(), tunnel_handler_transform_read(), HttpTunnel::tunnel_run(), HttpVCTableEntry::vc, and HttpTransformInfo::vc.
Referenced by state_send_server_request_header().
void HttpSM::start_sub_sm | ( | ) | [protected] |
Definition at line 517 of file HttpSM.cc.
References cache_sm, HttpCacheSM::init(), HttpTunnel::init(), Continuation::mutex, transform_cache_sm, and tunnel.
Referenced by attach_client_session(), and HttpUpdateSM::start_scheduled_update().
int HttpSM::state_acquire_server_read | ( | int | event, | |
void * | data | |||
) | [protected] |
int HttpSM::state_add_to_list | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 451 of file HttpSM.cc.
References HttpTransact::State::api_next_action, do_api_callout(), HttpConfigParams::enable_http_info, EVENT_INTERVAL, EVENT_NONE, HttpTransact::State::http_config_param, HTTP_LIST_BUCKETS, HttpSMList, ink_assert, Continuation::mutex, MUTEX_TRY_LOCK, sm_id, STATE_ENTER, and t_state.
Referenced by attach_client_session().
int HttpSM::state_api_callback | ( | int | event, | |
void * | data | |||
) |
Definition at line 1250 of file HttpSM.cc.
References HTTP_SM_MAGIC_ALIVE, ink_assert, ink_release_assert, kill_this(), magic, reentrancy_count, state_api_callout(), STATE_ENTER, and terminate_sm.
Referenced by TSHttpSMCallback::event_handler(), and TSHttpTxnReenable().
int HttpSM::state_api_callout | ( | int | event, | |
void * | data | |||
) |
Definition at line 1281 of file HttpSM.cc.
References api_hooks, HttpTransact::State::api_http_sm_shutdown, HttpTransact::State::api_modifiable_cached_resp, HttpTransact::State::api_next_action, HttpTransact::State::api_update_cached_object, HttpTransact::State::cache_info, cache_sm, call_transact_and_set_next_state(), callout_state, HttpCacheSM::close_read(), HttpTransact::CONNECTION_ALIVE, cur_hook, cur_hook_id, cur_hooks, HttpTransact::State::current, DebugSM, do_api_callout(), do_cache_prepare_update(), do_redirect(), EVENT_INTERVAL, EVENT_NONE, FeatureAPIHooks< ID, N >::get(), HttpDebugNames::get_api_hook_name(), handle_api_return(), HttpTransact::HandleApiErrorJump(), HttpTransact::HandleResponse(), HRTIME_MSECONDS, HTTP_API_CONTINUE, HTTP_API_DEFERED_CLOSE, HTTP_API_DEFERED_SERVER_ERROR, HTTP_API_ERROR, HTTP_API_IN_CALLOUT, HTTP_API_NO_CALLOUT, http_global_hooks, HTTP_SM_SET_DEFAULT_HANDLER, HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_release_assert, APIHook::invoke(), APIHook::m_cont, Continuation::mutex, MUTEX_TAKE_TRY_LOCK, Mutex_unlock(), APIHook::next(), pending_action, release_server_session(), HttpTransact::SM_ACTION_API_SEND_REQUEST_HDR, HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR, HttpTransact::SM_ACTION_API_SM_SHUTDOWN, sm_id, HttpTransact::State::squid_codes, ProxyClientSession::ssn_hook_get(), state_common_wait_for_transform_read(), STATE_ENTER, t_state, terminate_sm, transform_cache_sm, transform_info, TS_EVENT_HTTP_READ_REQUEST_HDR, TS_HTTP_LAST_HOOK, TS_HTTP_TXN_CLOSE_HOOK, tunnel_handler(), ua_session, and HttpTransact::UPDATE_CACHED_OBJECT_PREPARE.
Referenced by do_api_callout_internal(), and state_api_callback().
int HttpSM::state_auth_callback | ( | int | event, | |
void * | data | |||
) | [protected] |
int HttpSM::state_cache_open_read | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2462 of file HttpSM.cc.
References CACHE_EVENT_OPEN_READ, CACHE_EVENT_OPEN_READ_FAILED, HttpTransact::State::cache_info, HttpTransact::State::cache_lookup_result, TransactionMilestones::cache_open_read_end, HttpCacheSM::cache_read_vc, cache_sm, call_transact_and_set_next_state(), DebugSM, ECACHE_DOC_BUSY, HttpTransact::HandleCacheOpenRead(), ink_assert, ink_get_hrtime(), ink_release_assert, milestones, pending_action, server_entry, setup_cache_lookup_complete_api(), sm_id, HttpTransact::State::source, STATE_ENTER, t_state, and HttpTransact::State::transact_return_point.
Referenced by set_next_state().
int HttpSM::state_cache_open_write | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2376 of file HttpSM.cc.
References HttpTransact::State::api_lock_url, CACHE_EVENT_OPEN_READ, CACHE_EVENT_OPEN_WRITE, CACHE_EVENT_OPEN_WRITE_FAILED, HttpTransact::State::cache_info, HttpTransact::State::cache_lookup_result, TransactionMilestones::cache_open_write_end, HttpCacheSM::cache_read_vc, cache_sm, call_transact_and_set_next_state(), do_cache_prepare_action(), HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_get_hrtime(), ink_release_assert, HttpTransact::LOCK_URL_FIRST, HttpTransact::LOCK_URL_SECOND, milestones, HttpTransact::State::next_action, pending_action, second_cache_sm, HttpTransact::SM_ACTION_CACHE_ISSUE_WRITE_TRANSFORM, HttpTransact::State::source, state_common_wait_for_transform_read(), STATE_ENTER, t_state, transform_info, and tunnel_handler().
Referenced by do_cache_prepare_update(), and set_next_state().
int HttpSM::state_common_wait_for_transform_read | ( | HttpTransformInfo * | t_info, | |
HttpSMHandler | tunnel_handler, | |||
int | event, | |||
void * | data | |||
) | [protected] |
Definition at line 1175 of file HttpSM.cc.
References HttpTransact::State::api_info, _HttpApiInfo::cache_transformed, call_transact_and_set_next_state(), HttpVCTable::cleanup_entry(), HttpTransformInfo::entry, HttpTunnel::get_consumer(), HttpTransact::HandleApiErrorJump(), HttpTunnelConsumer::handler_state, HT_HTTP_CLIENT, HTTP_SM_TRANSFORM_FAIL, HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_release_assert, HttpTunnel::kill_tunnel(), post_transform_info, HttpTunnelConsumer::producer, HttpTunnelProducer::read_success, STATE_ENTER, t_state, transform_info, tunnel, HttpVCTableEntry::vc, HttpTunnelConsumer::vc, HttpTransformInfo::vc, VC_EVENT_ERROR, vc_table, HttpTunnelProducer::vc_type, and HttpTunnelConsumer::write_success.
Referenced by state_api_callout(), state_cache_open_write(), state_request_wait_for_transform_read(), and state_response_wait_for_transform_read().
int HttpSM::state_congestion_control_lookup | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 7326 of file HttpSM.cc.
References Action::cancel(), HttpTransact::State::congest_saved_next_action, CONGESTION_EVENT_CONTROL_LOOKUP_DONE, HttpTransact::State::next_action, pending_action, set_next_state(), HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN, HttpTransact::SM_ACTION_ORIGIN_SERVER_RAW_OPEN, STATE_ENTER, state_http_server_open(), state_raw_http_server_open(), t_state, and HttpTransact::State::transact_return_point.
Referenced by set_next_state().
int HttpSM::state_handle_stat_page | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2244 of file HttpSM.cc.
References call_transact_and_set_next_state(), StatPageData::data, HttpTransact::HandleStatPage(), ink_release_assert, HttpTransact::State::internal_msg_buffer, HttpTransact::State::internal_msg_buffer_fast_allocator_size, HttpTransact::State::internal_msg_buffer_size, HttpTransact::State::internal_msg_buffer_type, StatPageData::length, pending_action, STAT_PAGE_FAILURE, STAT_PAGE_SUCCESS, STATE_ENTER, t_state, and StatPageData::type.
Referenced by set_next_state().
int HttpSM::state_hostdb_lookup | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2120 of file HttpSM.cc.
References ACTION_RESULT_DONE, HttpTransact::State::api_txn_dns_timeout_value, HttpTransact::State::cache_info, call_transact_and_set_next_state(), HttpTransact::State::dns_info, EVENT_HOST_DB_IP_REMOVED, EVENT_HOST_DB_LOOKUP, EVENT_SRV_LOOKUP, HostDBProcessor::Options::flags, HostDBProcessor::getbyname_imm(), historical_action, HttpClientSession::host_res_style, HostDBProcessor::Options::host_res_style, HostDBProcessor::HOSTDB_DO_NOT_FORCE_DNS, HostDBProcessor::HOSTDB_FORCE_DNS_RELOAD, hostDBProcessor, ink_assert, pending_action, HostDBProcessor::Options::port, process_hostdb_info(), process_srv_info(), HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, HttpTransact::State::server_info, STATE_ENTER, t_state, HostDBProcessor::Options::timeout, ua_entry, ua_session, and HttpVCTableEntry::vc.
Referenced by set_next_state(), and state_mark_os_down().
int HttpSM::state_hostdb_reverse_lookup | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2176 of file HttpSM.cc.
References call_transact_and_set_next_state(), DebugSM, HttpTransact::State::dns_info, EVENT_HOST_DB_LOOKUP, HttpRequestData::hostname_str, ink_assert, pending_action, HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, HttpTransact::State::request_data, sm_id, STATE_ENTER, t_state, ua_entry, and HttpVCTableEntry::vc.
Referenced by set_next_state().
int HttpSM::state_http_server_open | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1600 of file HttpSM.cc.
References ats_ip_copy(), ats_ip_nptop(), ats_ip_port_cast(), attach_server_session(), call_transact_and_set_next_state(), HttpTransact::State::client_info, CONGESTION_EVENT_CONGESTED_ON_F, CONGESTION_EVENT_CONGESTED_ON_M, HttpTransact::State::current, Debug, DebugSM, do_http_server_open(), HttpServerSession::enable_origin_connection_limiting, Error, EVENT_INTERVAL, handle_http_server_open(), HttpTransact::HandleResponse(), HttpTransact::State::http_config_param, http_current_parent_proxy_connections_stat, HTTP_INCREMENT_DYN_STAT, http_total_parent_proxy_connections_stat, httpServerSessionAllocator, ink_get_hrtime(), ink_release_assert, is_debug_tag_set, milestones, Continuation::mutex, NET_EVENT_OPEN, NET_EVENT_OPEN_FAILED, HttpServerSession::new_connection(), OverridableHttpConfigParams::origin_max_connections, HttpConfigParams::origin_min_keep_alive_connections, HttpTransact::PARENT_PROXY, pending_action, TransactionMilestones::server_connect_end, HttpTransact::State::server_info, HttpServerSession::server_ip, OverridableHttpConfigParams::server_session_sharing_match, OverridableHttpConfigParams::server_session_sharing_pool, HttpServerSession::sharing_match, HttpServerSession::sharing_pool, sm_id, HttpServerSession::state, STATE_ENTER, t_state, terminate_sm, THREAD_ALLOC_INIT, HttpServerSession::to_parent_proxy, TS_SERVER_SESSION_SHARING_POOL_THREAD, HttpTransact::State::txn_conf, and VC_EVENT_ERROR.
Referenced by set_next_state(), and state_congestion_control_lookup().
int HttpSM::state_icp_lookup | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2323 of file HttpSM.cc.
References call_transact_and_set_next_state(), DebugSM, HttpTransact::HandleICPLookup(), HttpTransact::State::icp_ip_result, ICP_LOOKUP_FAILED, ICP_LOOKUP_FOUND, HttpTransact::State::icp_lookup_success, ink_release_assert, pending_action, HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, STATE_ENTER, t_state, and ua_entry.
Referenced by set_next_state().
int HttpSM::state_mark_os_down | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2208 of file HttpSM.cc.
References ats_ip_addr_eq(), HttpTransact::State::current, EVENT_HOST_DB_LOOKUP, HostDBRoundRobin::find_ip(), HttpTransact::State::host_db_info, ink_assert, HostDBInfo::ip, mark_host_failure(), HttpTransact::ORIGIN_SERVER, HttpTransact::State::request_sent_time, HostDBInfo::round_robin, HostDBInfo::rr(), state_hostdb_lookup(), and t_state.
Referenced by set_next_state().
int HttpSM::state_raw_http_server_open | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1036 of file HttpSM.cc.
References call_transact_and_set_next_state(), HttpTransact::State::congestion_connection_opened, CONGESTION_EVENT_CONGESTED_ON_F, CONGESTION_EVENT_CONGESTED_ON_M, CongestionEntry::connection_opened(), HttpTransact::State::current, Error, EVENT_INTERVAL, HttpTransact::HandleResponse(), HttpTransact::State::hdr_info, HRTIME_SECONDS, ink_assert, ink_get_hrtime(), ink_release_assert, milestones, NET_EVENT_OPEN, NET_EVENT_OPEN_FAILED, HttpVCTable::new_entry(), HttpTransact::OriginServerRawOpen(), HttpTransact::State::pCongestionEntry, pending_action, TransactionMilestones::server_connect_end, server_entry, NetVConnection::set_active_timeout(), NetVConnection::set_inactivity_timeout(), STATE_ENTER, t_state, OverridableHttpConfigParams::transaction_active_timeout_out, OverridableHttpConfigParams::transaction_no_activity_timeout_out, HttpTransact::State::txn_conf, HttpVCTableEntry::vc, VC_EVENT_ERROR, vc_table, and HttpVCTableEntry::vc_type.
Referenced by set_next_state(), and state_congestion_control_lookup().
int HttpSM::state_read_client_request_header | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 615 of file HttpSM.cc.
References HttpTransact::ABORTED, HttpTransact::BadRequest(), call_transact_and_set_next_state(), HttpVCTable::cleanup_entry(), HttpTransact::State::client_info, client_request_hdr_bytes, IOBufferReader::dealloc(), DebugSM, NetVConnection::do_io_read(), enable_redirection, HttpVCTableEntry::eos, IOBufferReader::get_current_block(), HttpClientSession::get_netvc(), HttpTransact::State::hdr_info, HRTIME_SECONDS, http_current_active_client_connections_stat, HTTP_INCREMENT_DYN_STAT, http_parser, http_parser_clear(), HTTP_WKSIDX_POST, HTTP_WKSIDX_TRACE, ink_assert, ink_get_hrtime(), is_transparent_passthrough_allowed(), HttpClientSession::m_active, HttpConfig::m_master, HttpTransact::State::method, milestones, HttpTransact::ModifyRequest(), VIO::nbytes, VIO::ndone, PARSE_CONT, PARSE_DONE, PARSE_ERROR, HttpConfigParams::post_copy_size, HttpVCTableEntry::read_vio, HttpConfigParams::redirection_enabled, VIO::reenable(), OverridableHttpConfigParams::request_hdr_max_size, server_entry, server_session, NetVConnection::set_inactivity_timeout(), set_ua_abort(), setup_blind_tunnel_port(), sm_id, STATE_ENTER, t_state, terminate_sm, OverridableHttpConfigParams::transaction_no_activity_timeout_in, HttpTransact::State::transparent_passthrough, HttpTransact::State::txn_conf, ua_buffer_reader, ua_entry, ua_raw_buffer_reader, TransactionMilestones::ua_read_header_done, ua_session, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, VC_EVENT_READ_READY, HttpVCTableEntry::vc_handler, vc_table, and IOBufferBlock::write_avail().
Referenced by setup_client_read_request_header().
int HttpSM::state_read_push_response_header | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 934 of file HttpSM.cc.
References IOBufferReader::block_read_avail(), call_transact_and_set_next_state(), HttpTransact::State::client_info, client_request_body_bytes, IOBufferReader::consume(), HttpTransact::State::current, DebugSM, HttpVCTableEntry::eos, HttpTransact::HandleBadPushRespHdr(), HttpTransact::HandlePushResponseHdr(), HttpTransact::State::hdr_info, http_parser, http_parser_clear(), ink_assert, ink_get_hrtime(), ink_release_assert, milestones, VIO::nbytes, VIO::ndone, PARSE_CONT, PARSE_DONE, PARSE_ERROR, pushed_response_hdr_bytes, IOBufferReader::read_avail(), HttpVCTableEntry::read_vio, VIO::reenable(), TransactionMilestones::server_read_header_done, sm_id, IOBufferReader::start(), start, STATE_ENTER, t_state, ua_buffer_reader, ua_entry, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, and VC_EVENT_READ_READY.
Referenced by setup_push_read_response_header().
int HttpSM::state_read_server_response_header | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1700 of file HttpSM.cc.
References HttpTransact::State::api_next_action, HttpTransact::State::api_txn_no_activity_timeout_value, call_transact_and_set_next_state(), NetVConnection::cancel_inactivity_timeout(), HttpTransact::State::current, HttpTunnel::deallocate_redirect_postdata_buffers(), DebugSM, do_api_callout(), enable_redirection, HttpVCTableEntry::eos, HttpClientSession::get_netvc(), HttpServerSession::get_netvc(), handle_server_setup_error(), HttpTransact::HandleResponse(), HttpTransact::State::hdr_info, HRTIME_MSECONDS, HRTIME_SECONDS, http_parser, http_parser_clear(), HTTP_TYPE_RESPONSE, ink_assert, ink_get_hrtime(), HttpConfig::m_master, milestones, MIME_FIELD_LOCATION, MIME_LEN_LOCATION, VIO::nbytes, VIO::ndone, PARSE_CONT, PARSE_DONE, PARSE_ERROR, HttpVCTableEntry::read_vio, redirection_tries, VIO::reenable(), OverridableHttpConfigParams::response_hdr_max_size, server_buffer_reader, server_entry, TransactionMilestones::server_first_read, TransactionMilestones::server_read_header_done, server_response_hdr_bytes, server_session, NetVConnection::set_inactivity_timeout(), STATE_ENTER, HttpTransact::STATE_UNDEFINED, t_state, HttpServerSession::transact_count, HttpTransact::State::transact_return_point, OverridableHttpConfigParams::transaction_no_activity_timeout_out, tunnel, HttpTransact::State::txn_conf, ua_session, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, and VC_EVENT_READ_READY.
Referenced by setup_server_read_response_header().
int HttpSM::state_remap_request | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 3807 of file HttpSM.cc.
References call_transact_and_set_next_state(), DebugSM, Error, EVENT_REMAP_COMPLETE, EVENT_REMAP_ERROR, RemapProcessor::finish_remap(), HttpTransact::HandleRequest(), ink_assert, pending_action, remapProcessor, sm_id, STATE_ENTER, t_state, and HttpTransact::State::url_remap_success.
Referenced by set_next_state().
int HttpSM::state_remove_from_list | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 476 of file HttpSM.cc.
References HttpConfigParams::enable_http_info, EVENT_INTERVAL, EVENT_NONE, HttpTransact::State::http_config_param, HTTP_LIST_BUCKETS, HTTP_LIST_RETRY, HTTP_SM_SET_DEFAULT_HANDLER, HttpSMList, ink_assert, kill_this_async_hook(), Continuation::mutex, MUTEX_TRY_LOCK, sm_id, STATE_ENTER, and t_state.
Referenced by handle_api_return().
int HttpSM::state_request_wait_for_transform_read | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1104 of file HttpSM.cc.
References Log::error(), HttpTransact::State::hdr_info, INT64_MAX, MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH, post_transform_info, setup_server_send_request_api(), state_common_wait_for_transform_read(), STATE_ENTER, t_state, TRANSFORM_READ_READY, and tunnel_handler_post().
Referenced by do_setup_post_tunnel().
int HttpSM::state_response_wait_for_transform_read | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1144 of file HttpSM.cc.
References call_transact_and_set_next_state(), HttpTransact::handle_transform_ready(), HttpTransact::State::hdr_info, INT64_MAX, MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH, state_common_wait_for_transform_read(), STATE_ENTER, t_state, transform_info, TRANSFORM_READ_READY, and tunnel_handler().
Referenced by setup_cache_transfer_to_transform(), and setup_server_transfer_to_transform().
int HttpSM::state_send_server_request_header | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 1871 of file HttpSM.cc.
References MIOBuffer::alloc_reader(), HttpTransact::State::api_server_request_body_set, buffer_size_to_index(), HttpTransact::CHUNKED_ENCODING, HttpTransact::State::client_info, DebugSM, HttpClientSession::do_io_write(), do_setup_post_tunnel(), HttpVCTableEntry::eos, free_MIOBuffer(), HttpClientSession::get_netvc(), handle_server_setup_error(), HttpTransact::State::hdr_info, HttpTransact::State::http_config_param, HTTP_LEN_100_CONTINUE, HTTP_SERVER_VC, HTTP_VALUE_100_CONTINUE, HTTP_WKSIDX_TRACE, ink_assert, ink_release_assert, MIME_FIELD_EXPECT, MIME_LEN_EXPECT, new_MIOBuffer, post_transform_info, HttpVCTableEntry::read_vio, VIO::reenable(), HttpConfigParams::send_100_continue_response, server_entry, setup_server_read_response_header(), setup_transform_to_server_transfer(), STATE_ENTER, t_state, ua_entry, ua_session, HttpTransformInfo::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_READY, VC_EVENT_WRITE_COMPLETE, VC_EVENT_WRITE_READY, MIOBuffer::write(), HttpVCTableEntry::write_buffer, and HttpVCTableEntry::write_vio.
int HttpSM::state_srv_lookup | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 3784 of file HttpSM.cc.
References EVENT_SRV_IP_REMOVED, EVENT_SRV_LOOKUP, ink_assert, pending_action, process_srv_info(), HttpTransact::State::req_flavor, HttpTransact::REQ_FLAVOR_REVPROXY, HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE, STATE_ENTER, t_state, ua_entry, and HttpVCTableEntry::vc.
int HttpSM::state_watch_for_client_abort | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 833 of file HttpSM.cc.
References HttpTransact::ABORTED, HttpTunnelConsumer::alive, DebugSM, HttpTunnel::get_consumer(), HttpDebugNames::get_event_name(), Continuation::handleEvent(), ink_assert, ink_get_hrtime(), ink_release_assert, HttpTunnel::is_tunnel_active(), HttpTunnel::kill_tunnel(), mark_server_down_on_client_abort(), milestones, VIO::nbytes, VIO::ndone, HttpVCTableEntry::read_vio, set_ua_abort(), sm_id, STATE_ENTER, terminate_sm, tunnel, TransactionMilestones::ua_close, ua_entry, ua_session, HttpVCTableEntry::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, VC_EVENT_READ_READY, and HttpTunnelConsumer::write_vio.
void HttpSM::transform_cleanup | ( | TSHttpHookID | hook, | |
HttpTransformInfo * | info | |||
) | [inline, protected] |
Definition at line 6413 of file HttpSM.cc.
References api_hooks, VConnection::do_io_close(), FeatureAPIHooks< ID, N >::get(), APIHook::m_cont, APIHook::next(), and HttpTransformInfo::vc.
Referenced by kill_this().
int HttpSM::tunnel_handler | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2755 of file HttpSM.cc.
References HTTP_DECREMENT_DYN_STAT, HTTP_TUNNEL_EVENT_DONE, http_websocket_current_active_client_connections_stat, ink_assert, HttpTransact::State::is_websocket, STATE_ENTER, t_state, terminate_sm, tunnel, and unlikely.
Referenced by handle_api_return(), setup_blind_tunnel(), setup_cache_read_transfer(), setup_server_transfer(), setup_server_transfer_to_cache_only(), setup_transfer_from_transform(), setup_transfer_from_transform_to_cache_only(), state_api_callout(), state_cache_open_write(), and state_response_wait_for_transform_read().
int HttpSM::tunnel_handler_100_continue | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2676 of file HttpSM.cc.
References HttpTunnel::deallocate_buffers(), HttpTunnel::deallocate_redirect_postdata_buffers(), DebugSM, HttpVCTableEntry::eos, HttpTunnel::get_consumer(), handle_server_setup_error(), HttpTransact::State::hdr_info, HTTP_TUNNEL_EVENT_DONE, HTTP_TYPE_RESPONSE, ink_assert, HttpVCTableEntry::read_vio, HttpTunnel::reset(), server_entry, setup_server_read_response_header(), sm_id, STATE_ENTER, t_state, terminate_sm, tunnel, ua_session, VC_EVENT_EOS, and HttpTunnelConsumer::write_success.
Referenced by setup_100_continue_transfer().
int HttpSM::tunnel_handler_100_continue_ua | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 2979 of file HttpSM.cc.
References HttpTransact::ABORTED, VConnection::do_io_close(), HttpVCTableEntry::eos, HttpVCTableEntry::in_tunnel, ink_assert, set_ua_abort(), STATE_ENTER, ua_entry, ua_session, HttpTunnelConsumer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_WRITE_COMPLETE, and HttpTunnelConsumer::write_success.
Referenced by setup_100_continue_transfer().
int HttpSM::tunnel_handler_cache_fill | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2656 of file HttpSM.cc.
References cache_sm, HttpCacheSM::cache_write_vc, HttpTunnel::deallocate_buffers(), HttpTunnel::deallocate_redirect_postdata_buffers(), HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_release_assert, HttpTunnel::reset(), setup_server_transfer_to_cache_only(), STATE_ENTER, tunnel, and HttpTunnel::tunnel_run().
Referenced by handle_api_return().
int HttpSM::tunnel_handler_cache_read | ( | int | event, | |
HttpTunnelProducer * | p | |||
) | [protected] |
Definition at line 3211 of file HttpSM.cc.
References HttpTransact::State::cache_info, HttpTunnel::chain_abort_all(), VConnection::do_io_close(), EHTTP_ERROR, http_cache_read_errors, http_current_cache_connections_stat, HTTP_DECREMENT_DYN_STAT, HTTP_INCREMENT_TRANS_STAT, HTTP_TUNNEL_EVENT_CONSUMER_DETACH, HTTP_TUNNEL_EVENT_PRECOMPLETE, ink_assert, ink_release_assert, INT64_MAX, HttpTunnel::local_finish_all(), HttpTunnelProducer::read_success, HttpTunnelProducer::read_vio, HttpTransact::State::squid_codes, STATE_ENTER, t_state, tunnel, HttpTunnelProducer::vc, VC_EVENT_EOS, VC_EVENT_ERROR, and VC_EVENT_READ_COMPLETE.
Referenced by setup_cache_read_transfer(), and setup_cache_transfer_to_transform().
int HttpSM::tunnel_handler_cache_write | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 3250 of file HttpSM.cc.
References HttpTunnelProducer::alive, HttpTransact::State::cache_info, HttpTunnel::chain_abort_all(), VIO::CLOSE, DebugSM, VConnection::do_io(), VConnection::do_io_close(), EHTTP_ERROR, HttpDebugNames::get_event_name(), http_cache_write_errors, http_current_cache_connections_stat, HTTP_DECREMENT_DYN_STAT, HTTP_INCREMENT_TRANS_STAT, ink_assert, HttpTunnelProducer::num_consumers, HttpTunnelConsumer::producer, sm_id, STATE_ENTER, t_state, tunnel, HttpTunnelConsumer::vc, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_WRITE_COMPLETE, HttpTunnelProducer::vc_type, HttpTunnelConsumer::write_success, and HttpTunnelConsumer::write_vio.
Referenced by setup_cache_write_transfer().
int HttpSM::tunnel_handler_for_partial_post | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 3378 of file HttpSM.cc.
References HttpTunnel::allocate_redirect_postdata_producer_buffer(), HttpTunnel::deallocate_buffers(), do_setup_post_tunnel(), handle_post_failure(), HTTP_SERVER_VC, post_failed, HttpTransact::State::redirect_info, HttpTunnel::reset(), STATE_ENTER, t_state, and tunnel.
Referenced by do_setup_post_tunnel().
int HttpSM::tunnel_handler_plugin_agent | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 3755 of file HttpSM.cc.
References HttpTunnelProducer::alive, VIO::CLOSE, VConnection::do_io(), VConnection::do_io_close(), EHTTP_ERROR, HTTP_TUNNEL_EVENT_CONSUMER_DETACH, ink_release_assert, HttpTunnelProducer::num_consumers, HttpTunnelConsumer::producer, HttpTunnel::producer_handler(), STATE_ENTER, tunnel, HttpTunnelConsumer::vc, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_WRITE_COMPLETE, and HttpTunnelConsumer::write_success.
Referenced by setup_plugin_agents().
int HttpSM::tunnel_handler_post | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2626 of file HttpSM.cc.
References HttpTunnel::get_producer(), handle_post_failure(), HttpTunnelProducer::handler_state, HTTP_SM_POST_SERVER_FAIL, HTTP_SM_POST_SUCCESS, HTTP_SM_POST_UA_FAIL, HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_release_assert, setup_server_read_response_header(), STATE_ENTER, tunnel, tunnel_handler_post_or_put(), and ua_session.
Referenced by do_setup_post_tunnel(), setup_transform_to_server_transfer(), and state_request_wait_for_transform_read().
void HttpSM::tunnel_handler_post_or_put | ( | HttpTunnelProducer * | p | ) | [protected] |
Definition at line 2575 of file HttpSM.cc.
References HttpVCTable::cleanup_entry(), HttpTunnelProducer::consumer_list, HttpTunnel::deallocate_buffers(), HttpTransformInfo::entry, HttpTunnel::get_consumer(), HttpTunnelProducer::handler_state, DLL< C, L >::head, HT_HTTP_CLIENT, HTTP_SM_POST_SERVER_FAIL, HTTP_SM_POST_SUCCESS, HTTP_SM_POST_UA_FAIL, HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, post_transform_info, HttpTunnelProducer::read_success, HttpTunnel::reset(), server_entry, terminate_sm, tunnel, ua_entry, HttpVCTableEntry::vc, HttpTransformInfo::vc, vc_table, HttpTunnelProducer::vc_type, and HttpTunnelConsumer::write_success.
Referenced by tunnel_handler_post().
int HttpSM::tunnel_handler_post_server | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 3398 of file HttpSM.cc.
References HttpTunnelConsumer::alive, HttpTunnelProducer::alive, HttpTunnelConsumer::bytes_written, HttpTransact::State::client_info, VConnection::do_io_close(), VConnection::do_io_read(), VConnection::do_io_shutdown(), enable_redirection, HttpVCTableEntry::eos, HttpTunnelProducer::handler_state, HT_HTTP_CLIENT, HT_STATIC, HT_TRANSFORM, HTTP_SM_TRANSFORM_OPEN, ink_assert, ink_release_assert, INT64_MAX, IO_SHUTDOWN_WRITE, HttpTunnel::is_tunnel_alive(), post_failed, post_transform_info, HttpTunnelConsumer::producer, HttpTunnelProducer::read_buffer, HttpVCTableEntry::read_vio, HttpTransact::State::redirect_info, HttpTunnelProducer::self_consumer, server_entry, server_request_body_bytes, STATE_ENTER, t_state, tunnel, ua_entry, ua_session, HttpVCTableEntry::vc, HttpTransformInfo::vc, HttpTunnelProducer::vc, HttpTunnelConsumer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_WRITE_COMPLETE, HttpVCTableEntry::vc_handler, HttpTunnelProducer::vc_type, and HttpTunnelConsumer::write_success.
Referenced by do_setup_post_tunnel(), and setup_transform_to_server_transfer().
int HttpSM::tunnel_handler_post_ua | ( | int | event, | |
HttpTunnelProducer * | c | |||
) | [protected] |
Definition at line 3299 of file HttpSM.cc.
References HttpTunnel::abort_cache_write_finish_others(), HttpTransact::ABORTED, HttpTunnelProducer::bytes_read, HttpTunnel::chain_abort_all(), HttpTunnelProducer::chunked_handler, client_request_body_bytes, HttpTunnelProducer::consumer_list, DebugSM, HttpTunnelProducer::do_chunked_passthru, HttpTunnelProducer::do_dechunking, VConnection::do_io_close(), VConnection::do_io_read(), EHTTP_ERROR, HttpTransformInfo::entry, free_MIOBuffer(), HttpTunnelProducer::handler_state, DLL< C, L >::head, hsm_release_assert, HT_TRANSFORM, HttpTransact::State::http_config_param, HTTP_TUNNEL_EVENT_PRECOMPLETE, HttpVCTableEntry::in_tunnel, HttpTunnelProducer::init_bytes_done, ink_release_assert, INT64_MAX, OverridableHttpConfigParams::keep_alive_post_out, HttpTunnel::local_finish_all(), IOBufferReader::mbuf, post_transform_info, HttpTunnelProducer::read_success, HttpVCTableEntry::read_vio, HttpTunnelProducer::read_vio, HttpConfigParams::send_100_continue_response, server_entry, set_server_session_private(), set_ua_abort(), STATE_ENTER, t_state, ChunkedHandler::truncation, tunnel, HttpTransact::State::txn_conf, ua_buffer_reader, ua_entry, HttpTunnelProducer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, HttpVCTableEntry::vc_handler, HttpTunnelConsumer::vc_type, and HttpVCTableEntry::write_buffer.
Referenced by do_setup_post_tunnel().
int HttpSM::tunnel_handler_push | ( | int | event, | |
void * | data | |||
) | [protected] |
Definition at line 2718 of file HttpSM.cc.
References cache(), call_transact_and_set_next_state(), HttpTunnelProducer::consumer_list, HttpTunnel::deallocate_buffers(), HttpTunnel::deallocate_redirect_postdata_buffers(), HttpTunnel::get_producer(), HttpTransact::HandlePushTunnelFailure(), HttpTransact::HandlePushTunnelSuccess(), DLL< C, L >::head, HT_CACHE_WRITE, HTTP_TUNNEL_EVENT_DONE, ink_assert, ink_release_assert, HttpTunnelProducer::read_success, HttpTunnel::reset(), STATE_ENTER, terminate_sm, tunnel, ua_session, HttpTunnelConsumer::vc_type, and HttpTunnelConsumer::write_success.
Referenced by setup_push_transfer_to_cache().
int HttpSM::tunnel_handler_server | ( | int | event, | |
HttpTunnelProducer * | p | |||
) | [protected] |
Definition at line 2810 of file HttpSM.cc.
References HttpTunnel::abort_cache_write_finish_others(), HttpServerSession::attach_hostname(), HttpClientSession::attach_server_session(), HttpConfigParams::attach_server_session_to_client, background_fill, BACKGROUND_FILL_COMPLETED, BACKGROUND_FILL_STARTED, HttpTunnel::chain_abort_all(), HttpTunnelProducer::chunked_handler, HttpTransact::State::client_info, HttpTransact::State::current, Debug, DebugSM, HttpTunnelProducer::do_chunked_passthru, HttpTunnelProducer::do_dechunking, VConnection::do_io_close(), HttpVCTableEntry::eos, HttpClientSession::f_outbound_transparent, HT_HTTP_SERVER, http_background_fill_current_count_stat, HttpTransact::State::http_config_param, http_current_server_transactions_stat, HTTP_DECREMENT_DYN_STAT, HTTP_KEEPALIVE, HTTP_NO_PLUGIN_TUNNEL, HTTP_TUNNEL_EVENT_CONSUMER_DETACH, HTTP_TUNNEL_EVENT_PRECOMPLETE, ink_assert, ink_get_hrtime(), is_http_server_eos_truncation(), HttpTunnel::local_finish_all(), milestones, HttpTransact::State::negative_caching, plugin_tunnel_type, HttpTunnelProducer::read_success, HttpTunnelProducer::read_vio, HttpServerSession::release(), TransactionMilestones::server_close, server_entry, server_session, HttpServerSession::server_trans_stat, sm_id, HttpTransact::State::squid_codes, STATE_ENTER, t_state, ChunkedHandler::truncation, tunnel, ua_session, HttpConfigParams::use_client_source_port, HttpTunnelProducer::vc, HttpVCTableEntry::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, VC_EVENT_READ_READY, VC_EVENT_WRITE_COMPLETE, VC_EVENT_WRITE_READY, and HttpTunnelProducer::vc_type.
Referenced by setup_server_transfer(), setup_server_transfer_to_cache_only(), and setup_server_transfer_to_transform().
int HttpSM::tunnel_handler_ssl_consumer | ( | int | event, | |
HttpTunnelConsumer * | p | |||
) | [protected] |
Definition at line 3554 of file HttpSM.cc.
References HttpTunnelConsumer::alive, HttpTunnelProducer::alive, HttpTunnelConsumer::bytes_written, client_response_body_bytes, HttpTunnel::close_vc(), VConnection::do_io_close(), VConnection::do_io_shutdown(), HT_HTTP_CLIENT, HT_HTTP_SERVER, ink_assert, ink_release_assert, IO_SHUTDOWN_READ, IO_SHUTDOWN_WRITE, HttpTunnel::local_finish_all(), HttpTunnelConsumer::producer, HttpTunnelProducer::self_consumer, HttpTunnelConsumer::self_producer, server_request_body_bytes, STATE_ENTER, tunnel, HttpTunnelConsumer::vc, HttpTunnelProducer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_WRITE_COMPLETE, HttpTunnelConsumer::vc_type, and HttpTunnelConsumer::write_success.
Referenced by setup_blind_tunnel().
int HttpSM::tunnel_handler_ssl_producer | ( | int | event, | |
HttpTunnelProducer * | p | |||
) | [protected] |
Definition at line 3490 of file HttpSM.cc.
References HttpTunnelProducer::alive, HttpTunnelConsumer::alive, HttpTunnelProducer::bytes_read, client_request_body_bytes, HttpTunnel::close_vc(), VConnection::do_io_shutdown(), HT_HTTP_CLIENT, HT_HTTP_SERVER, HTTP_TUNNEL_EVENT_PRECOMPLETE, ink_release_assert, IO_SHUTDOWN_READ, HttpTunnel::local_finish_all(), HttpTunnelConsumer::producer, HttpTunnelProducer::self_consumer, server_response_body_bytes, STATE_ENTER, tunnel, HttpTunnelProducer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, and HttpTunnelProducer::vc_type.
Referenced by setup_blind_tunnel().
int HttpSM::tunnel_handler_transform_read | ( | int | event, | |
HttpTunnelProducer * | p | |||
) | [protected] |
Definition at line 3712 of file HttpSM.cc.
References HttpTunnel::abort_cache_write_finish_others(), HttpTunnelConsumer::alive, HttpTunnel::chain_abort_all(), VConnection::do_io_close(), HttpTunnelProducer::handler_state, HttpTransact::State::hdr_info, HTTP_TUNNEL_EVENT_PRECOMPLETE, HTTP_UNDEFINED_CL, ink_assert, ink_release_assert, HttpTunnel::local_finish_all(), VIO::nbytes, post_transform_info, HttpTunnelConsumer::producer, HttpTunnelProducer::read_success, HttpTunnelProducer::read_vio, HttpTunnelProducer::self_consumer, STATE_ENTER, t_state, transform_info, tunnel, HttpTransformInfo::vc, HttpTunnelProducer::vc, VC_EVENT_EOS, VC_EVENT_ERROR, and VC_EVENT_READ_COMPLETE.
Referenced by setup_transfer_from_transform(), setup_transfer_from_transform_to_cache_only(), and setup_transform_to_server_transfer().
int HttpSM::tunnel_handler_transform_write | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 3626 of file HttpSM.cc.
References HttpTunnelProducer::alive, cache_response_body_bytes, HttpTunnel::chain_abort_all(), client_response_body_bytes, VIO::CLOSE, VConnection::do_io(), VConnection::do_io_close(), VConnection::do_io_shutdown(), EHTTP_ERROR, HttpTransformInfo::entry, HttpTunnelConsumer::handler_state, HTTP_TUNNEL_EVENT_CONSUMER_DETACH, HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, IO_SHUTDOWN_WRITE, HttpTunnelProducer::num_consumers, post_transform_info, HttpTransact::State::pre_transform_source, HttpTunnelConsumer::producer, HttpTunnel::producer_handler(), HttpTransact::RANGE_NONE, HttpTransact::State::range_setup, HttpTunnelConsumer::self_producer, server_response_body_bytes, HttpTransact::SOURCE_CACHE, HttpTransact::SOURCE_HTTP_ORIGIN_SERVER, STATE_ENTER, t_state, transform_info, tunnel, HttpTransformInfo::vc, HttpVCTableEntry::vc, HttpTunnelConsumer::vc, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_WRITE_COMPLETE, and HttpTunnelConsumer::write_success.
Referenced by do_setup_post_tunnel(), setup_cache_transfer_to_transform(), and setup_server_transfer_to_transform().
int HttpSM::tunnel_handler_ua | ( | int | event, | |
HttpTunnelConsumer * | c | |||
) | [protected] |
Definition at line 3045 of file HttpSM.cc.
References HttpTransact::ABORTED, HttpTunnelProducer::alive, background_fill, OverridableHttpConfigParams::background_fill_active_timeout, HttpTunnelConsumer::bytes_written, HttpTransact::CACHE_AUTH_SERVE, cache_response_body_bytes, HttpTunnel::chain_abort_all(), HttpTransact::State::client_info, client_response_body_bytes, client_response_hdr_bytes, DebugSM, HttpClientSession::do_io_close(), HttpVCTableEntry::eos, HttpClientSession::get_bound_ss(), HttpServerSession::get_netvc(), HRTIME_SECONDS, HT_CACHE_READ, HT_HTTP_SERVER, http_background_fill_current_count_stat, HTTP_INCREMENT_DYN_STAT, HTTP_KEEPALIVE, HTTP_WKSIDX_POST, ink_assert, ink_get_hrtime(), is_bg_fill_necessary(), HttpTunnelConsumer::is_downstream_from(), HttpTransact::State::method, milestones, HttpTransact::State::pre_transform_source, HttpTunnelConsumer::producer, HttpTransact::RANGE_NONE, HttpTransact::State::range_setup, HttpClientSession::release(), HttpTunnelProducer::self_consumer, server_entry, server_response_body_bytes, server_session, HttpClientSession::set_half_close_flag(), set_ua_abort(), sm_id, HttpTransact::State::source, HttpTransact::SOURCE_CACHE, HttpTransact::SOURCE_HTTP_ORIGIN_SERVER, HttpTransact::SOURCE_TRANSFORM, STATE_ENTER, t_state, tunnel, HttpTransact::State::txn_conf, ua_buffer_reader, TransactionMilestones::ua_close, ua_entry, ua_session, HttpVCTableEntry::vc, HttpTunnelConsumer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, VC_EVENT_READ_READY, VC_EVENT_WRITE_COMPLETE, VC_EVENT_WRITE_READY, HttpTunnelProducer::vc_type, HttpTunnelConsumer::write_success, and HttpTransact::State::www_auth_content.
Referenced by setup_cache_read_transfer(), setup_internal_transfer(), setup_server_transfer(), and setup_transfer_from_transform().
int HttpSM::tunnel_handler_ua_push | ( | int | event, | |
HttpTunnelProducer * | p | |||
) | [protected] |
Definition at line 3171 of file HttpSM.cc.
References HttpTunnelProducer::bytes_read, HttpTunnel::chain_abort_all(), HttpTransact::State::client_info, client_request_body_bytes, VConnection::do_io_close(), EHTTP_ERROR, HTTP_TUNNEL_EVENT_PRECOMPLETE, HttpVCTableEntry::in_tunnel, ink_assert, pushed_response_body_bytes, HttpTunnelProducer::read_success, HttpTunnelProducer::read_vio, STATE_ENTER, t_state, tunnel, ua_entry, HttpTunnelProducer::vc, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, VC_EVENT_READ_READY, VC_EVENT_WRITE_COMPLETE, and VC_EVENT_WRITE_READY.
Referenced by setup_push_transfer_to_cache().
void HttpSM::txn_hook_append | ( | TSHttpHookID | id, | |
INKContInternal * | cont | |||
) | [inline] |
Definition at line 600 of file HttpSM.h.
References api_hooks, FeatureAPIHooks< ID, N >::append(), and hooks_set.
Referenced by TSHttpTxnHookAdd().
APIHook * HttpSM::txn_hook_get | ( | TSHttpHookID | id | ) | [inline] |
Definition at line 614 of file HttpSM.h.
References api_hooks, and FeatureAPIHooks< ID, N >::get().
Referenced by plugin_agents_cleanup(), setup_plugin_agents(), and TSHttpTxnHookRegisteredFor().
void HttpSM::txn_hook_prepend | ( | TSHttpHookID | id, | |
INKContInternal * | cont | |||
) | [inline] |
Definition at line 607 of file HttpSM.h.
References api_hooks, hooks_set, and FeatureAPIHooks< ID, N >::prepend().
Referenced by do_post_transform_open(), and do_transform_open().
void HttpSM::update_stats | ( | ) | [protected] |
Definition at line 6566 of file HttpSM.cc.
References Log::access(), HttpTransact::State::api_info, ats_ip_ntop(), ats_ip_port_host_order(), TransactionMilestones::cache_open_read_begin, TransactionMilestones::cache_open_read_end, HttpTransact::State::client_info, client_request_body_bytes, client_request_hdr_bytes, client_response_body_bytes, client_response_hdr_bytes, HttpTransact::client_result_stat(), HttpTransact::State::cop_test_page, DebugSM, TransactionMilestones::dns_lookup_begin, TransactionMilestones::dns_lookup_end, dump_state_on_assert(), Error, Log::error(), Log::FAIL, Log::FULL, HttpClientSession::get_netvc(), NetVConnection::get_socket(), HttpTransact::State::hdr_info, HttpTransact::State::http_config_param, ink_get_hrtime(), ink_hrtime_from_msec(), ink_release_assert, ink_strlcpy(), is_action_tag_set, _HttpApiInfo::logging_enabled, milestone_difference(), milestones, MIME_FIELD_X_ID, MIME_LEN_X_ID, pushed_response_body_bytes, pushed_response_hdr_bytes, HttpConfigParams::record_cop_page, TransactionMilestones::server_close, TransactionMilestones::server_connect, TransactionMilestones::server_first_read, HttpTransact::State::server_info, TransactionMilestones::server_read_header_done, server_request_body_bytes, server_request_hdr_bytes, server_response_body_bytes, server_response_hdr_bytes, skip(), HttpConfigParams::slow_log_threshold, TransactionMilestones::sm_finish, sm_id, TransactionMilestones::sm_start, t_state, Log::transaction_logging_enabled(), TransactionMilestones::ua_begin, TransactionMilestones::ua_begin_write, TransactionMilestones::ua_close, TransactionMilestones::ua_read_header_done, ua_session, HttpTransact::update_size_and_time_stats(), and URL::valid().
Referenced by kill_this().
Definition at line 5495 of file HttpSM.cc.
References MIOBuffer::add_block(), MIOBuffer::fill(), MIOBuffer::get_current_block(), ink_assert, HTTPHdr::print(), IOBufferBlock::start(), and IOBufferBlock::write_avail().
Referenced by setup_100_continue_transfer(), setup_server_send_request(), and write_response_header_into_buffer().
Definition at line 575 of file HttpSM.h.
References HttpTransact::State::client_info, t_state, and write_header_into_buffer().
Referenced by setup_blind_tunnel(), setup_cache_read_transfer(), setup_internal_transfer(), setup_server_transfer(), and setup_transfer_from_transform().
friend class HttpPagesHandler [friend] |
HttpAPIHooks HttpSM::api_hooks [protected] |
Definition at line 516 of file HttpSM.h.
Referenced by cleanup(), do_post_transform_open(), do_range_setup_if_necessary(), do_transform_open(), state_api_callout(), transform_cleanup(), txn_hook_append(), txn_hook_get(), and txn_hook_prepend().
Definition at line 306 of file HttpSM.h.
Referenced by TSHttpTxnBackgroundFillStarted(), tunnel_handler_server(), tunnel_handler_ua(), and HttpTransact::update_size_and_time_stats().
Definition at line 487 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_cache_resp_content_len(), LogAccessHttp::marshal_file_size(), tunnel_handler_transform_write(), and tunnel_handler_ua().
Definition at line 486 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_cache_resp_header_len(), setup_cache_read_transfer(), and setup_cache_transfer_to_transform().
HttpCacheSM HttpSM::cache_sm [protected] |
Definition at line 327 of file HttpSM.h.
Referenced by add_cache_sm(), cleanup(), do_cache_lookup_and_read(), do_cache_prepare_update(), do_cache_prepare_write(), do_cache_prepare_write_transform(), do_range_setup_if_necessary(), get_cache_sm(), handle_api_return(), issue_cache_update(), kill_this(), perform_cache_write_action(), set_next_state(), setup_cache_read_transfer(), setup_cache_transfer_to_transform(), setup_push_transfer_to_cache(), setup_server_transfer_to_cache_only(), start_sub_sm(), state_api_callout(), state_cache_open_read(), state_cache_open_write(), and tunnel_handler_cache_fill().
HttpApiState_t HttpSM::callout_state [protected] |
Definition at line 511 of file HttpSM.h.
Referenced by do_api_callout_internal(), handle_server_setup_error(), kill_this(), and state_api_callout().
Definition at line 479 of file HttpSM.h.
Referenced by HttpTransact::build_error_response(), do_setup_post_tunnel(), LogAccessHttp::marshal_client_req_body_len(), setup_blind_tunnel(), setup_push_read_response_header(), setup_push_transfer_to_cache(), state_read_push_response_header(), TSHttpTxnClientReqBodyBytesGet(), tunnel_handler_post_ua(), tunnel_handler_ssl_producer(), tunnel_handler_ua_push(), and update_stats().
Definition at line 478 of file HttpSM.h.
Referenced by setup_blind_tunnel(), state_read_client_request_header(), TSHttpTxnClientReqHdrBytesGet(), and update_stats().
Definition at line 485 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_proxy_resp_content_len(), LogAccessHttp::marshal_proxy_resp_squid_len(), TSHttpTxnClientRespBodyBytesGet(), tunnel_handler_ssl_consumer(), tunnel_handler_transform_write(), tunnel_handler_ua(), and update_stats().
Definition at line 484 of file HttpSM.h.
Referenced by is_bg_fill_necessary(), LogAccessHttp::marshal_proxy_resp_header_len(), LogAccessHttp::marshal_proxy_resp_squid_len(), perform_cache_write_action(), perform_transform_cache_write_action(), setup_100_continue_transfer(), setup_blind_tunnel(), setup_cache_read_transfer(), setup_internal_transfer(), setup_server_transfer(), setup_server_transfer_to_transform(), setup_transfer_from_transform(), TSHttpTxnClientRespHdrBytesGet(), tunnel_handler_ua(), and update_stats().
APIHook* HttpSM::cur_hook [protected] |
Definition at line 504 of file HttpSM.h.
Referenced by do_api_callout_internal(), and state_api_callout().
TSHttpHookID HttpSM::cur_hook_id [protected] |
Definition at line 503 of file HttpSM.h.
Referenced by do_api_callout_internal(), and state_api_callout().
int HttpSM::cur_hooks [protected] |
Definition at line 510 of file HttpSM.h.
Referenced by do_api_callout_internal(), and state_api_callout().
bool HttpSM::debug_on |
Definition at line 277 of file HttpSM.h.
Referenced by attach_client_session(), and cleanup().
HttpSMHandler HttpSM::default_handler [protected] |
Definition at line 331 of file HttpSM.h.
Referenced by HttpUpdateSM::handle_api_return(), HttpUpdateSM::kill_this_async_hook(), main_handler(), and HttpUpdateSM::start_scheduled_update().
Definition at line 271 of file HttpSM.h.
Referenced by do_redirect(), do_setup_post_tunnel(), HttpTransact::handle_forward_server_connection_open(), HttpTransact::handle_no_cache_operation_on_forward_server_response(), handle_post_failure(), HttpTransact::HandleRequest(), is_redirect_required(), kill_this(), HttpTunnel::producer_handler(), state_read_client_request_header(), state_read_server_response_header(), TSHttpTxnFollowRedirect(), TSHttpTxnRedirectUrlSet(), TSRedirectUrlSet(), and tunnel_handler_post_server().
bool HttpSM::has_active_plugin_agents [protected] |
Set if plugin client / user agents are active.
Need primarily for cleanup.
Definition at line 325 of file HttpSM.h.
Referenced by plugin_agents_cleanup(), and setup_plugin_agents().
Action* HttpSM::historical_action [protected] |
Definition at line 333 of file HttpSM.h.
Referenced by do_cache_delete_all_alts(), do_cache_lookup_and_read(), do_cache_prepare_action(), do_congestion_control_lookup(), do_hostdb_lookup(), do_hostdb_reverse_lookup(), do_http_server_open(), do_icp_lookup(), do_remap_request(), set_next_state(), and state_hostdb_lookup().
History HttpSM::history[HISTORY_SIZE] [protected] |
Definition at line 294 of file HttpSM.h.
Referenced by _instantiate_func(), add_history_entry(), CoreUtils::dump_history(), dump_state_on_assert(), and HttpSM().
int HttpSM::history_pos [protected] |
Definition at line 295 of file HttpSM.h.
Referenced by add_history_entry(), CoreUtils::dump_history(), and dump_state_on_assert().
bool HttpSM::hooks_set |
Definition at line 500 of file HttpSM.h.
Referenced by attach_client_session(), do_api_callout(), kill_this(), set_next_state(), HttpClientSession::ssn_hook_append(), HttpClientSession::ssn_hook_prepend(), txn_hook_append(), and txn_hook_prepend().
HTTPParser HttpSM::http_parser [protected] |
Definition at line 336 of file HttpSM.h.
Referenced by attach_client_session(), cleanup(), HttpSM(), init(), setup_push_read_response_header(), setup_server_read_response_header(), HttpUpdateSM::start_scheduled_update(), state_read_client_request_header(), state_read_push_response_header(), and state_read_server_response_header().
bool HttpSM::kill_this_async_done [protected] |
Definition at line 522 of file HttpSM.h.
Referenced by kill_this(), and kill_this_async_hook().
Definition at line 465 of file HttpSM.h.
Referenced by call_transact_and_set_next_state().
int(HttpSM::* HttpSM::m_last_state)(int event, void *data) [protected] |
unsigned int HttpSM::magic |
Definition at line 268 of file HttpSM.h.
Referenced by cleanup(), init(), HttpTunnel::main_handler(), main_handler(), state_api_callback(), CoreUtils::test_HttpSM(), and CoreUtils::test_HttpSM_from_tunnel().
Definition at line 490 of file HttpSM.h.
Referenced by attach_client_session(), do_api_callout_internal(), do_cache_lookup_and_read(), do_cache_prepare_write(), do_hostdb_lookup(), do_http_server_open(), init(), mark_server_down_on_client_abort(), LogAccessHttp::marshal_transfer_time_ms(), LogAccessHttp::marshal_transfer_time_s(), process_hostdb_info(), setup_blind_tunnel(), setup_server_read_response_header(), setup_server_send_request(), state_cache_open_read(), state_cache_open_write(), state_http_server_open(), state_raw_http_server_open(), state_read_client_request_header(), state_read_push_response_header(), state_read_server_response_header(), state_watch_for_client_abort(), TSHttpTxnMilestoneGet(), tunnel_handler_server(), tunnel_handler_ua(), and update_stats().
Action* HttpSM::pending_action [protected] |
Definition at line 332 of file HttpSM.h.
Referenced by do_cache_delete_all_alts(), do_cache_lookup_and_read(), do_cache_prepare_action(), do_congestion_control_lookup(), do_hostdb_lookup(), do_hostdb_reverse_lookup(), do_http_server_open(), do_icp_lookup(), do_remap_request(), get_http_schedule(), kill_this(), set_next_state(), state_api_callout(), state_cache_open_read(), state_cache_open_write(), state_congestion_control_lookup(), state_handle_stat_page(), state_hostdb_lookup(), state_hostdb_reverse_lookup(), state_http_server_open(), state_icp_lookup(), state_raw_http_server_open(), state_remap_request(), and state_srv_lookup().
int64_t HttpSM::plugin_id |
Definition at line 495 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_plugin_identity_id(), and HttpClientSession::new_transaction().
char const* HttpSM::plugin_tag |
Definition at line 494 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_plugin_identity_tag(), and HttpClientSession::new_transaction().
Definition at line 281 of file HttpSM.h.
Referenced by do_http_server_open(), kill_this(), HttpTransact::setup_plugin_request_intercept(), TSHttpTxnIntercept(), and TSHttpTxnServerIntercept().
Definition at line 280 of file HttpSM.h.
Referenced by attach_server_session(), do_hostdb_update_if_necessary(), HttpTransact::EndRemapRequest(), HttpTransact::HandleRequest(), HttpTransact::is_request_retryable(), release_server_session(), TSHttpTxnIntercept(), TSHttpTxnServerIntercept(), and tunnel_handler_server().
bool HttpSM::post_failed |
Definition at line 276 of file HttpSM.h.
Referenced by tunnel_handler_for_partial_post(), and tunnel_handler_post_server().
HttpTransformInfo HttpSM::post_transform_info [protected] |
Definition at line 322 of file HttpSM.h.
Referenced by do_post_transform_open(), do_setup_post_tunnel(), handle_server_setup_error(), kill_this(), setup_transform_to_server_transfer(), state_common_wait_for_transform_read(), state_request_wait_for_transform_read(), state_send_server_request_header(), tunnel_handler_post_or_put(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_transform_read(), and tunnel_handler_transform_write().
int64_t HttpSM::prev_hook_start_time [protected] |
Definition at line 489 of file HttpSM.h.
Referenced by setup_push_transfer_to_cache(), TSHttpTxnPushedRespBodyBytesGet(), tunnel_handler_ua_push(), and update_stats().
Definition at line 488 of file HttpSM.h.
Referenced by HttpTransact::HandlePushResponseHdr(), setup_push_read_response_header(), setup_push_transfer_to_cache(), state_read_push_response_header(), TSHttpTxnPushedRespHdrBytesGet(), and update_stats().
char* HttpSM::redirect_url |
Definition at line 272 of file HttpSM.h.
Referenced by do_redirect(), HttpTransact::handle_no_cache_operation_on_forward_server_response(), is_redirect_required(), kill_this(), TSHttpTxnRedirectUrlGet(), TSHttpTxnRedirectUrlSet(), and TSRedirectUrlSet().
Definition at line 273 of file HttpSM.h.
Referenced by do_redirect(), kill_this(), TSHttpTxnRedirectUrlGet(), TSHttpTxnRedirectUrlSet(), and TSRedirectUrlSet().
Definition at line 274 of file HttpSM.h.
Referenced by do_redirect(), is_redirect_required(), HttpCacheSM::open_write(), state_read_server_response_header(), TSHttpTxnRedirectRetries(), and TSRedirectUrlSet().
int HttpSM::reentrancy_count [protected] |
Definition at line 286 of file HttpSM.h.
Referenced by attach_client_session(), do_cache_lookup_and_read(), kill_this(), main_handler(), and state_api_callback().
Continuation* HttpSM::schedule_cont [protected] |
Definition at line 334 of file HttpSM.h.
Referenced by get_http_schedule(), and set_http_schedule().
HttpCacheSM* HttpSM::second_cache_sm [protected] |
Definition at line 329 of file HttpSM.h.
Referenced by add_cache_sm(), cleanup(), kill_this(), and state_cache_open_write().
IOBufferReader* HttpSM::server_buffer_reader [protected] |
Definition at line 318 of file HttpSM.h.
Referenced by attach_server_session(), handle_post_failure(), server_transfer_init(), setup_server_read_response_header(), and state_read_server_response_header().
HttpVCTableEntry* HttpSM::server_entry [protected] |
Definition at line 315 of file HttpSM.h.
Referenced by attach_server_session(), do_http_server_open(), do_setup_post_tunnel(), handle_post_failure(), handle_server_setup_error(), is_bg_fill_necessary(), perform_cache_write_action(), release_server_session(), remove_server_entry(), server_transfer_init(), set_next_state(), setup_blind_tunnel(), setup_push_read_response_header(), setup_server_read_response_header(), setup_server_send_request(), setup_server_transfer(), setup_server_transfer_to_cache_only(), setup_server_transfer_to_transform(), setup_transform_to_server_transfer(), state_cache_open_read(), state_raw_http_server_open(), state_read_client_request_header(), state_read_server_response_header(), state_send_server_request_header(), tunnel_handler_100_continue(), tunnel_handler_post_or_put(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_server(), and tunnel_handler_ua().
Definition at line 481 of file HttpSM.h.
Referenced by LogAccessHttp::marshal_proxy_req_body_len(), setup_server_send_request(), TSHttpTxnServerReqBodyBytesGet(), tunnel_handler_post_server(), tunnel_handler_ssl_consumer(), and update_stats().
Definition at line 480 of file HttpSM.h.
Referenced by setup_server_send_request(), TSHttpTxnServerReqHdrBytesGet(), and update_stats().
Definition at line 483 of file HttpSM.h.
Referenced by is_http_server_eos_truncation(), LogAccessHttp::marshal_file_size(), LogAccessHttp::marshal_server_resp_content_len(), TSHttpTxnServerRespBodyBytesGet(), tunnel_handler_ssl_producer(), tunnel_handler_transform_write(), tunnel_handler_ua(), and update_stats().
Definition at line 482 of file HttpSM.h.
Referenced by setup_server_read_response_header(), state_read_server_response_header(), TSHttpTxnServerRespHdrBytesGet(), and update_stats().
HttpServerSession* HttpSM::server_session [protected] |
Definition at line 316 of file HttpSM.h.
Referenced by attach_server_session(), do_http_server_open(), handle_http_server_open(), handle_post_failure(), handle_server_setup_error(), is_private(), kill_this(), release_server_session(), server_transfer_init(), set_next_state(), set_server_session_private(), setup_push_read_response_header(), setup_server_read_response_header(), setup_server_send_request(), state_read_client_request_header(), state_read_server_response_header(), tunnel_handler_server(), and tunnel_handler_ua().
int HttpSM::shared_session_retries [protected] |
int64_t HttpSM::sm_id |
Definition at line 267 of file HttpSM.h.
Referenced by HttpTunnel::add_consumer(), HttpTunnel::add_producer(), call_transact_and_set_next_state(), HttpTunnel::consumer_handler(), do_cache_lookup_and_read(), do_cache_prepare_action(), do_hostdb_update_if_necessary(), do_http_server_open(), do_remap_request(), dump_state_hdr(), dump_state_on_assert(), HttpUpdateSM::handle_api_return(), handle_server_setup_error(), HttpPagesHandler::handle_smdetails(), HttpPagesHandler::handle_smlist(), init(), is_bg_fill_necessary(), is_http_server_eos_truncation(), kill_this(), HttpUpdateSM::kill_this_async_hook(), main_handler(), mark_host_failure(), HttpClientSession::new_transaction(), perform_cache_write_action(), perform_transform_cache_write_action(), HttpTransact::PPDNSLookup(), process_hostdb_info(), HttpTunnel::producer_handler(), HttpTunnel::producer_handler_chunked(), HttpTunnel::producer_handler_dechunked(), redirect_request(), HttpClientSession::release(), set_next_state(), setup_server_send_request(), state_add_to_list(), state_api_callout(), state_cache_open_read(), state_hostdb_reverse_lookup(), state_http_server_open(), state_read_client_request_header(), state_read_push_response_header(), state_remap_request(), state_remove_from_list(), state_watch_for_client_abort(), tunnel_handler_100_continue(), tunnel_handler_cache_write(), tunnel_handler_server(), tunnel_handler_ua(), and update_stats().
Definition at line 283 of file HttpSM.h.
Referenced by HttpSessionManager::acquire_session(), add_cache_sm(), HttpTunnel::allocate_redirect_postdata_buffers(), HttpTunnel::allocate_redirect_postdata_producer_buffer(), attach_client_session(), attach_server_session(), HttpClientSession::attach_server_session(), calculate_output_cl(), call_transact_and_set_next_state(), check_n_attach_prefetch_transform(), cleanup(), do_api_callout_internal(), do_cache_delete_all_alts(), do_cache_lookup_and_read(), do_cache_prepare_action(), do_cache_prepare_update(), do_cache_prepare_write(), do_congestion_control_lookup(), do_hostdb_lookup(), do_hostdb_reverse_lookup(), do_hostdb_update_if_necessary(), do_http_server_open(), do_icp_lookup(), HttpClientSession::do_io_close(), do_range_parse(), do_range_setup_if_necessary(), do_redirect(), do_remap_request(), do_setup_post_tunnel(), dump_state_on_assert(), find_http_resp_buffer_size(), find_server_buffer_size(), HttpUpdateSM::handle_api_return(), handle_api_return(), handle_http_server_open(), handle_post_failure(), handle_server_setup_error(), HttpPagesHandler::handle_smlist(), HttpTransact_is_request_valid(), PrefetchBlaster::init(), LogAccessHttp::init(), HttpTunnel::init(), init(), init_sm(), HttpTransact::initialize_state_variables_from_response(), is_bg_fill_necessary(), is_http_server_eos_truncation(), is_redirect_required(), is_transparent_passthrough_allowed(), issue_cache_update(), kill_this(), mark_host_failure(), mark_server_down_on_client_abort(), LogAccessHttp::marshal_cache_result_code(), LogAccessHttp::marshal_cache_write_code(), LogAccessHttp::marshal_cache_write_transform_code(), LogAccessHttp::marshal_client_finish_status_code(), LogAccessHttp::marshal_client_host_ip(), LogAccessHttp::marshal_client_host_port(), LogAccessHttp::marshal_client_retry_after_time(), LogAccessHttp::marshal_proxy_finish_status_code(), LogAccessHttp::marshal_proxy_hierarchy_route(), LogAccessHttp::marshal_proxy_req_server_ip(), LogAccessHttp::marshal_proxy_req_server_name(), LogAccessHttp::marshal_server_host_ip(), HttpCacheSM::open_write(), PrefetchTransform::parse_data(), parse_range_and_compare(), perform_cache_write_action(), perform_transform_cache_write_action(), PrefetchPlugin(), PrefetchTransform::PrefetchTransform(), process_hostdb_info(), process_srv_info(), HttpTunnel::producer_handler(), PrefetchTransform::redirect(), redirect_request(), HttpClientSession::release(), release_server_session(), server_transfer_init(), HttpUpdateSM::set_next_state(), set_next_state(), set_ua_abort(), setup_100_continue_transfer(), setup_blind_tunnel(), setup_cache_lookup_complete_api(), setup_cache_read_transfer(), setup_cache_transfer_to_transform(), setup_cache_write_transfer(), setup_client_request(), setup_error_transfer(), setup_internal_transfer(), setup_push_read_response_header(), setup_push_transfer_to_cache(), setup_server_read_response_header(), setup_server_send_request(), setup_server_send_request_api(), setup_server_transfer(), setup_server_transfer_to_cache_only(), setup_server_transfer_to_transform(), setup_transfer_from_transform(), setup_transfer_from_transform_to_cache_only(), setup_transform_to_server_transfer(), HttpUpdateSM::start_scheduled_update(), state_add_to_list(), state_api_callout(), state_cache_open_read(), state_cache_open_write(), state_common_wait_for_transform_read(), state_congestion_control_lookup(), state_handle_stat_page(), state_hostdb_lookup(), state_hostdb_reverse_lookup(), state_http_server_open(), state_icp_lookup(), state_mark_os_down(), state_raw_http_server_open(), state_read_client_request_header(), state_read_push_response_header(), state_read_server_response_header(), state_remap_request(), state_remove_from_list(), state_request_wait_for_transform_read(), state_response_wait_for_transform_read(), state_send_server_request_header(), state_srv_lookup(), TSCacheUrlSet(), TSHttpTxnAborted(), TSHttpTxnArgGet(), TSHttpTxnArgSet(), TSHttpTxnCachedReqGet(), TSHttpTxnCachedRespGet(), TSHttpTxnCachedRespModifiableGet(), TSHttpTxnCachedRespTimeGet(), TSHttpTxnCacheLookupCountGet(), TSHttpTxnCacheLookupStatusGet(), TSHttpTxnCacheLookupStatusSet(), TSHttpTxnCacheLookupUrlGet(), TSHttpTxnClientIncomingPortSet(), TSHttpTxnClientKeepaliveSet(), TSHttpTxnClientReqGet(), TSHttpTxnClientReqIsServerStyle(), TSHttpTxnClientRespGet(), TSHttpTxnCloseAfterResponse(), TSHttpTxnCntl(), TSHttpTxnConfigFloatSet(), TSHttpTxnConfigIntGet(), TSHttpTxnConfigIntSet(), TSHttpTxnConfigStringGet(), TSHttpTxnConfigStringSet(), TSHttpTxnEffectiveUrlStringGet(), TSHttpTxnErrorBodySet(), TSHttpTxnIsCacheable(), TSHttpTxnLookingUpTypeGet(), TSHttpTxnNewCacheLookupDo(), TSHttpTxnNextHopAddrGet(), TSHttpTxnParentProxyGet(), TSHttpTxnParentProxySet(), TSHttpTxnPristineUrlGet(), TSHttpTxnRedirectRequest(), TSHttpTxnReqCacheableSet(), TSHttpTxnRespCacheableSet(), TSHttpTxnSecondUrlTryLock(), TSHttpTxnServerAddrGet(), TSHttpTxnServerAddrSet(), TSHttpTxnServerReqGet(), TSHttpTxnServerRequestBodySet(), TSHttpTxnServerRespGet(), TSHttpTxnSetHttpRetStatus(), TSHttpTxnTransformedRespCache(), TSHttpTxnTransformRespGet(), TSHttpTxnUntransformedRespCache(), TSHttpTxnUpdateCachedObject(), TSSkipRemappingSet(), tunnel_handler(), tunnel_handler_100_continue(), tunnel_handler_cache_read(), tunnel_handler_cache_write(), tunnel_handler_for_partial_post(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_server(), tunnel_handler_transform_read(), tunnel_handler_transform_write(), tunnel_handler_ua(), tunnel_handler_ua_push(), update_stats(), and write_response_header_into_buffer().
bool HttpSM::terminate_sm [protected] |
Definition at line 521 of file HttpSM.h.
Referenced by attach_client_session(), HttpUpdateSM::handle_api_return(), kill_this(), kill_this_async_hook(), main_handler(), HttpUpdateSM::set_next_state(), setup_error_transfer(), setup_push_transfer_to_cache(), state_api_callback(), state_api_callout(), state_http_server_open(), state_read_client_request_header(), state_watch_for_client_abort(), tunnel_handler(), tunnel_handler_100_continue(), tunnel_handler_post_or_put(), and tunnel_handler_push().
int64_t HttpSM::transfered_bytes |
Definition at line 275 of file HttpSM.h.
Referenced by do_setup_post_tunnel().
HttpCacheSM HttpSM::transform_cache_sm [protected] |
Definition at line 328 of file HttpSM.h.
Referenced by cleanup(), do_cache_prepare_write_transform(), handle_api_return(), kill_this(), perform_cache_write_action(), perform_transform_cache_write_action(), set_next_state(), start_sub_sm(), and state_api_callout().
HttpTransformInfo HttpSM::transform_info [protected] |
Definition at line 321 of file HttpSM.h.
Referenced by do_transform_open(), HttpUpdateSM::handle_api_return(), kill_this(), perform_cache_write_action(), perform_transform_cache_write_action(), set_next_state(), setup_cache_transfer_to_transform(), setup_server_transfer_to_transform(), setup_transfer_from_transform(), setup_transfer_from_transform_to_cache_only(), state_api_callout(), state_cache_open_write(), state_common_wait_for_transform_read(), state_response_wait_for_transform_read(), tunnel_handler_transform_read(), and tunnel_handler_transform_write().
HttpTunnel HttpSM::tunnel [protected] |
Definition at line 297 of file HttpSM.h.
Referenced by cleanup(), do_cache_prepare_write_transform(), do_redirect(), do_setup_post_tunnel(), get_tunnel(), HttpUpdateSM::handle_api_return(), handle_api_return(), handle_post_failure(), handle_server_setup_error(), kill_this(), HttpUpdateSM::set_next_state(), set_next_state(), setup_100_continue_transfer(), setup_blind_tunnel(), setup_cache_read_transfer(), setup_cache_transfer_to_transform(), setup_cache_write_transfer(), setup_internal_transfer(), setup_plugin_agents(), setup_push_transfer_to_cache(), setup_server_transfer(), setup_server_transfer_to_cache_only(), setup_server_transfer_to_transform(), setup_transfer_from_transform(), setup_transfer_from_transform_to_cache_only(), setup_transform_to_server_transfer(), start_sub_sm(), state_common_wait_for_transform_read(), state_read_server_response_header(), state_watch_for_client_abort(), tunnel_handler(), tunnel_handler_100_continue(), tunnel_handler_cache_fill(), tunnel_handler_cache_read(), tunnel_handler_cache_write(), tunnel_handler_for_partial_post(), tunnel_handler_plugin_agent(), tunnel_handler_post(), tunnel_handler_post_or_put(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_push(), tunnel_handler_server(), tunnel_handler_ssl_consumer(), tunnel_handler_ssl_producer(), tunnel_handler_transform_read(), tunnel_handler_transform_write(), tunnel_handler_ua(), and tunnel_handler_ua_push().
IOBufferReader* HttpSM::ua_buffer_reader [protected] |
Definition at line 312 of file HttpSM.h.
Referenced by attach_client_session(), do_setup_post_tunnel(), setup_blind_tunnel(), setup_client_read_request_header(), setup_push_read_response_header(), setup_push_transfer_to_cache(), state_read_client_request_header(), state_read_push_response_header(), tunnel_handler_post_ua(), and tunnel_handler_ua().
HttpVCTableEntry* HttpSM::ua_entry [protected] |
Definition at line 301 of file HttpSM.h.
Referenced by attach_client_session(), do_http_server_open(), do_setup_post_tunnel(), get_ua_entry(), handle_post_failure(), handle_server_setup_error(), remove_ua_entry(), setup_100_continue_transfer(), setup_blind_tunnel(), setup_cache_read_transfer(), setup_client_read_request_header(), setup_error_transfer(), setup_internal_transfer(), setup_push_read_response_header(), setup_push_transfer_to_cache(), setup_server_transfer(), setup_transfer_from_transform(), state_hostdb_lookup(), state_hostdb_reverse_lookup(), state_icp_lookup(), state_read_client_request_header(), state_read_push_response_header(), state_send_server_request_header(), state_srv_lookup(), state_watch_for_client_abort(), tunnel_handler_100_continue_ua(), tunnel_handler_post_or_put(), tunnel_handler_post_server(), tunnel_handler_post_ua(), tunnel_handler_ua(), and tunnel_handler_ua_push().
IOBufferReader* HttpSM::ua_raw_buffer_reader [protected] |
Definition at line 313 of file HttpSM.h.
Referenced by attach_client_session(), setup_blind_tunnel(), and state_read_client_request_header().
Definition at line 305 of file HttpSM.h.
Referenced by attach_client_session(), do_hostdb_lookup(), do_http_server_open(), HttpTransact::EndRemapRequest(), handle_api_return(), handle_post_failure(), HttpTransact::handle_response_from_server(), HttpTransact::HandleBlindTunnel(), HttpTransact::initialize_state_variables_from_request(), HttpTransact::initialize_state_variables_from_response(), is_private(), is_transparent_passthrough_allowed(), kill_this(), process_hostdb_info(), HttpTransact::process_quick_http_filter(), release_server_session(), set_next_state(), set_ua_half_close_flag(), setup_client_read_request_header(), setup_error_transfer(), setup_push_read_response_header(), setup_server_read_response_header(), state_api_callout(), state_hostdb_lookup(), state_read_client_request_header(), state_read_server_response_header(), state_send_server_request_header(), state_watch_for_client_abort(), TSHttpTxnClientPacketMarkSet(), TSHttpTxnClientPacketTosSet(), TSHttpTxnCloseAfterResponse(), TSHttpTxnOutgoingAddrSet(), TSHttpTxnOutgoingTransparencySet(), TSHttpTxnServerPacketMarkSet(), TSHttpTxnServerPacketTosSet(), TSHttpTxnSsnGet(), tunnel_handler_100_continue(), tunnel_handler_100_continue_ua(), tunnel_handler_post(), tunnel_handler_post_server(), tunnel_handler_push(), tunnel_handler_server(), tunnel_handler_ua(), and update_stats().
HttpVCTable HttpSM::vc_table [protected] |
Definition at line 299 of file HttpSM.h.
Referenced by attach_client_session(), attach_server_session(), do_post_transform_open(), do_transform_open(), handle_post_failure(), handle_server_setup_error(), HttpSM(), kill_this(), main_handler(), release_server_session(), remove_server_entry(), remove_ua_entry(), set_next_state(), setup_error_transfer(), state_common_wait_for_transform_read(), state_raw_http_server_open(), state_read_client_request_header(), and tunnel_handler_post_or_put().