#include <HttpUpdateSM.h>
Inherits HttpSM.
Public Member Functions | |
HttpUpdateSM () | |
void | destroy () |
Action * | start_scheduled_update (Continuation *cont, HTTPHdr *req) |
Static Public Member Functions | |
static HttpUpdateSM * | allocate () |
Data Fields | |
bool | cb_occured |
Continuation * | cb_cont |
Action | cb_action |
int | cb_event |
Protected Member Functions | |
void | handle_api_return () |
void | set_next_state () |
int | kill_this_async_hook (int event, void *data) |
Definition at line 49 of file HttpUpdateSM.h.
HttpUpdateSM::HttpUpdateSM | ( | ) |
Definition at line 45 of file HttpUpdateSM.cc.
HttpUpdateSM * HttpUpdateSM::allocate | ( | ) | [inline, static] |
Reimplemented from HttpSM.
Definition at line 75 of file HttpUpdateSM.h.
References ClassAllocator< C >::alloc(), and httpUpdateSMAllocator.
Referenced by UpdateSM::http_scheme().
void HttpUpdateSM::destroy | ( | ) | [virtual] |
Reimplemented from HttpSM.
Definition at line 51 of file HttpUpdateSM.cc.
References cb_action, HttpSM::cleanup(), and httpUpdateSMAllocator.
void HttpUpdateSM::handle_api_return | ( | ) | [protected, virtual] |
Reimplemented from HttpSM.
Definition at line 102 of file HttpUpdateSM.cc.
References HttpTunnelConsumer::alive, HttpTransact::State::api_next_action, HttpTransact::CACHE_DO_WRITE, HttpTransact::State::cache_info, HttpSM::call_transact_and_set_next_state(), cb_event, Debug, HttpSM::default_handler, HttpTransformInfo::entry, HttpTunnel::get_consumer(), Continuation::handleEvent(), HttpVCTableEntry::in_tunnel, ink_assert, ink_release_assert, HttpTunnel::is_tunnel_active(), HttpTransact::ModifyRequest(), HttpTransact::State::next_action, HttpSM::perform_cache_write_action(), HttpSM::setup_transfer_from_transform_to_cache_only(), HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR, 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_SEND_ERROR_CACHE_NOOP, HttpTransact::SM_ACTION_SERVE_FROM_CACHE, HttpTransact::SM_ACTION_SERVER_READ, HttpTransact::SM_ACTION_TRANSFORM_READ, HttpSM::sm_id, HttpTransact::State::squid_codes, HttpSM::t_state, HttpSM::terminate_sm, HttpSM::transform_info, HttpSM::tunnel, HttpTunnel::tunnel_run(), HttpTransformInfo::vc, VC_EVENT_ERROR, and HttpTunnelConsumer::write_vio.
int HttpUpdateSM::kill_this_async_hook | ( | int | event, | |
void * | data | |||
) | [protected, virtual] |
Reimplemented from HttpSM.
Definition at line 211 of file HttpUpdateSM.cc.
References Action::cancelled, cb_action, cb_cont, cb_event, cb_occured, Debug, HttpSM::default_handler, ET_CALL, EVENT_NONE, eventProcessor, HttpDebugNames::get_event_name(), Continuation::handleEvent(), HRTIME_MSECONDS, Action::mutex, MUTEX_TRY_LOCK, EventProcessor::schedule_in(), HttpSM::sm_id, STATE_ENTER, and this_ethread().
void HttpUpdateSM::set_next_state | ( | ) | [protected, virtual] |
Reimplemented from HttpSM.
Definition at line 190 of file HttpUpdateSM.cc.
References HttpTransact::CACHE_DO_NO_ACTION, HttpTransact::CACHE_DO_SERVE, HttpTransact::State::cache_info, cb_event, ink_assert, HttpTunnel::is_tunnel_active(), HttpTransact::State::next_action, HttpTransact::SM_ACTION_SERVE_FROM_CACHE, HttpTransact::State::squid_codes, HttpSM::t_state, HttpSM::terminate_sm, and HttpSM::tunnel.
Action * HttpUpdateSM::start_scheduled_update | ( | Continuation * | cont, | |
HTTPHdr * | req | |||
) |
Definition at line 59 of file HttpUpdateSM.cc.
References ats_ip4_set(), HttpTransact::State::backdoor_request, cb_action, cb_cont, cb_occured, HttpTransact::State::client_info, HttpSM::default_handler, EVENT_NONE, Continuation::handleEvent(), HttpTransact::State::hdr_info, HttpSM::http_parser, http_parser_init(), HTTP_TYPE_REQUEST, Continuation::mutex, MUTEX_LOCK, HttpTransact::State::req_flavor, HttpSM::start_sub_sm(), HttpSM::t_state, and this_ethread().
Referenced by UpdateSM::http_scheme().
Definition at line 64 of file HttpUpdateSM.h.
Referenced by destroy(), kill_this_async_hook(), and start_scheduled_update().
Definition at line 63 of file HttpUpdateSM.h.
Referenced by kill_this_async_hook(), and start_scheduled_update().
Definition at line 65 of file HttpUpdateSM.h.
Referenced by handle_api_return(), kill_this_async_hook(), and set_next_state().
Definition at line 62 of file HttpUpdateSM.h.
Referenced by kill_this_async_hook(), and start_scheduled_update().