Public Types | Public Member Functions | Data Fields

PrefetchBlaster Class Reference

#include <Prefetch.h>

Inherits Continuation.

Collaboration diagram for PrefetchBlaster:
Collaboration graph
[legend]

Public Types

typedef int(PrefetchBlaster::* EventHandler )(int event, void *data)

Public Member Functions

 PrefetchBlaster ()
 ~PrefetchBlaster ()
int init (PrefetchUrlEntry *entry, HTTPHdr *request, PrefetchTransform *p_trans)
int handleEvent (int event, void *data)
 Receives the event code and data for an Event.
int bufferObject (int event, void *data)
int blastObject (int event, void *data)
int httpClient (int event, void *data)
int invokeBlaster ()
void initCacheLookupConfig ()
void handleCookieHeaders (HTTPHdr *req_hdr, HTTPHdr *resp_hdr, const char *domain_start, const char *domain_end, const char *host_start, int host_len, bool no_dot)
void free ()

Data Fields

PrefetchUrlEntryurl_ent
PrefetchTransformtransform
BlasterUrlListurl_list
HTTPHdrrequest
CacheHTTPInfocache_http_info
MIOBufferbuf
IOBufferReaderreader
VConnectionserverVC
TSPrefetchBlastData data_blast
CacheLookupHttpConfig cache_lookup_config
uint32_t n_pkts_sent
uint32_t seq_no
IOBufferBlockio_block

Detailed Description

Definition at line 286 of file Prefetch.h.


Member Typedef Documentation

typedef int(PrefetchBlaster::* PrefetchBlaster::EventHandler)(int event, void *data)

Definition at line 290 of file Prefetch.h.


Constructor & Destructor Documentation

PrefetchBlaster::PrefetchBlaster (  )  [inline]

Definition at line 292 of file Prefetch.h.

PrefetchBlaster::~PrefetchBlaster (  )  [inline]

Definition at line 297 of file Prefetch.h.


Member Function Documentation

int PrefetchBlaster::blastObject ( int  event,
void *  data 
)
int PrefetchBlaster::bufferObject ( int  event,
void *  data 
)
void PrefetchBlaster::free ( void   ) 
void PrefetchBlaster::handleCookieHeaders ( HTTPHdr req_hdr,
HTTPHdr resp_hdr,
const char *  domain_start,
const char *  domain_end,
const char *  host_start,
int  host_len,
bool  no_dot 
)
int PrefetchBlaster::handleEvent ( int  event,
void *  data 
)

Receives the event code and data for an Event.

This function receives the event code and data for an event and forwards them to the current continuation handler. The processor calling back the continuation is responsible for acquiring its lock.

Parameters:
event Event code to be passed at callback (Processor specific).
data General purpose data related to the event code (Processor specific).
Returns:
State machine and processor specific return code.

Reimplemented from Continuation.

Definition at line 1463 of file Prefetch.cc.

References bufferObject(), CACHE_EVENT_OPEN_READ, CACHE_EVENT_OPEN_READ_FAILED, cache_http_info, cache_lookup_config, cacheProcessor, Debug, EVENT_IMMEDIATE, EVENT_INTERVAL, free(), PrefetchTransform::free(), BlasterUrlList::handleEvent(), HRTIME_MSECONDS, httpClient(), initCacheLookupConfig(), ink_assert, invokeBlaster(), Continuation::mutex, MUTEX_TRY_LOCK, CacheProcessor::open_read(), PREFETCH_EVENT_SEND_URL, request, PrefetchUrlEntry::resp_blaster, EThread::schedule_imm_local(), EThread::schedule_in(), serverVC, SET_HANDLER, this_ethread(), transform, PrefetchUrlEntry::url, url_ent, HTTPHdr::url_get(), and url_list.

Referenced by init(), and invokeBlaster().

int PrefetchBlaster::httpClient ( int  event,
void *  data 
)
int PrefetchBlaster::init ( PrefetchUrlEntry entry,
HTTPHdr request,
PrefetchTransform p_trans 
)

Definition at line 1004 of file Prefetch.cc.

References MIOBuffer::alloc_reader(), PrefetchTransform::assign(), PrefetchUrlEntry::assign(), ats_free(), ats_ip_pton(), buf, PrefetchUrlEntry::child_ip, HTTPHdr::copy(), Debug, PrefetchTransform::domain_end, PrefetchTransform::domain_start, DUMP_HEADER, MIMEHdr::field_delete(), MIMEHdr::field_find(), free(), handleCookieHeaders(), handleEvent(), HttpTransact::State::hdr_info, URL::host_get(), PrefetchTransform::host_len, PrefetchTransform::host_start, HTTP_LEN_GET, atscppapi::HTTP_METHOD_GET, ink_strlcpy(), IS_RECURSIVE_PREFETCH, PrefetchTransform::m_sm, URL::m_url_impl, HTTPHdr::method_set(), MIME_FIELD_AUTHORIZATION, MIME_FIELD_CACHE_CONTROL, MIME_FIELD_CLIENT_IP, MIME_FIELD_CONNECTION, MIME_FIELD_CONTENT_LENGTH, MIME_FIELD_HOST, MIME_FIELD_IF_MATCH, MIME_FIELD_IF_MODIFIED_SINCE, MIME_FIELD_IF_NONE_MATCH, MIME_FIELD_IF_RANGE, MIME_FIELD_IF_UNMODIFIED_SINCE, MIME_FIELD_PROXY_CONNECTION, MIME_FIELD_REFERER, MIME_LEN_AUTHORIZATION, MIME_LEN_CACHE_CONTROL, MIME_LEN_CLIENT_IP, MIME_LEN_CONNECTION, MIME_LEN_CONTENT_LENGTH, MIME_LEN_HOST, MIME_LEN_IF_MATCH, MIME_LEN_IF_MODIFIED_SINCE, MIME_LEN_IF_NONE_MATCH, MIME_LEN_IF_RANGE, MIME_LEN_IF_UNMODIFIED_SINCE, MIME_LEN_PROXY_CONNECTION, MIME_LEN_REFERER, Continuation::mutex, new_MIOBuffer, new_ProxyMutex(), PrefetchTransform::no_dot_in_host, URL::parse(), PARSE_DONE, reader, PrefetchUrlEntry::req_ip, request, IpEndpoint::sa, EThread::schedule_imm(), URL::scheme_get(), SET_HANDLER, URL::string_get(), HttpSM::t_state, this_ethread(), transform, PrefetchUrlEntry::url, url_clear(), url_ent, HTTPHdr::url_get(), URL_SCHEME_HTTP, MIMEHdr::value_get(), and MIMEHdr::value_set().

Referenced by PrefetchTransform::parse_data(), and PrefetchTransform::redirect().

void PrefetchBlaster::initCacheLookupConfig (  ) 
int PrefetchBlaster::invokeBlaster (  ) 

Field Documentation

Definition at line 323 of file Prefetch.h.

Referenced by blastObject(), bufferObject(), free(), httpClient(), and init().

Definition at line 321 of file Prefetch.h.

Referenced by bufferObject(), handleEvent(), and invokeBlaster().

Definition at line 330 of file Prefetch.h.

Referenced by handleEvent(), and initCacheLookupConfig().

Definition at line 328 of file Prefetch.h.

Referenced by blastObject(), and invokeBlaster().

Definition at line 335 of file Prefetch.h.

Referenced by blastObject(), and free().

Definition at line 333 of file Prefetch.h.

Referenced by blastObject().

Definition at line 324 of file Prefetch.h.

Referenced by blastObject(), httpClient(), and init().

Definition at line 334 of file Prefetch.h.

Referenced by blastObject().

Definition at line 326 of file Prefetch.h.

Referenced by blastObject(), bufferObject(), free(), handleEvent(), httpClient(), and invokeBlaster().

Definition at line 317 of file Prefetch.h.

Referenced by free(), handleEvent(), init(), and invokeBlaster().

Definition at line 316 of file Prefetch.h.

Referenced by blastObject(), bufferObject(), free(), handleEvent(), init(), and invokeBlaster().

Definition at line 318 of file Prefetch.h.

Referenced by handleEvent(), and invokeBlaster().


The documentation for this class was generated from the following files: