Page Speed Optimization Libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
net_instaweb::SharedAsyncFetch Class Reference

#include "async_fetch.h"

Inheritance diagram for net_instaweb::SharedAsyncFetch:
net_instaweb::AsyncFetch net_instaweb::Writer net_instaweb::BackgroundFetchCheckingAsyncFetch net_instaweb::ConditionalSharedAsyncFetch net_instaweb::FallbackSharedAsyncFetch net_instaweb::InflatingFetch net_instaweb::ProxyFetch net_instaweb::RecordingFetch net_instaweb::ResourceFetch

Public Member Functions

 SharedAsyncFetch (AsyncFetch *base_fetch)
virtual const RequestContextPtrrequest_context ()
- Public Member Functions inherited from net_instaweb::AsyncFetch
 AsyncFetch (const RequestContextPtr &request_ctx)
void HeadersComplete ()
void Done (bool success)
virtual bool Write (const StringPiece &content, MessageHandler *handler)
virtual bool Flush (MessageHandler *handler)
RequestHeadersrequest_headers ()
void set_request_headers (RequestHeaders *headers)
void SetRequestHeadersTakingOwnership (RequestHeaders *headers)
 Same as above, but takes ownership.
const RequestHeadersrequest_headers () const
ResponseHeadersresponse_headers ()
 See doc for request_headers and set_request_headers.
void set_response_headers (ResponseHeaders *headers)
ResponseHeadersextra_response_headers ()
void set_extra_response_headers (ResponseHeaders *headers)
virtual void Reset ()
bool headers_complete () const
bool content_length_known () const
int64 content_length () const
void set_content_length (int64 x)
GoogleString LoggingString ()
virtual AbstractLogRecordlog_record ()
void FixCacheControlForGoogleCache ()
- Public Member Functions inherited from net_instaweb::Writer
virtual bool Dump (Writer *writer, MessageHandler *message_handler)

Protected Member Functions

virtual void HandleDone (bool success)
virtual bool HandleWrite (const StringPiece &content, MessageHandler *handler)
virtual bool HandleFlush (MessageHandler *handler)
virtual void HandleHeadersComplete ()
virtual bool IsCachedResultValid (const ResponseHeaders &headers)
virtual bool IsBackgroundFetch () const
void PropagateContentLength ()
 Propagates any set_content_length from this to the base fetch.

Additional Inherited Members

- Static Public Member Functions inherited from net_instaweb::AsyncFetch
static bool IsGoogleCacheVia (StringPiece via_value)
- Static Public Attributes inherited from net_instaweb::AsyncFetch
static const int kContentLengthUnknown = -1

Detailed Description

Creates an AsyncFetch object using an existing AsyncFetcher*, sharing the response & request headers, and by default delegating all 4 Handle methods to the base fetcher. Any one of them can be overridden by inheritors of this class, but to propagate the callbacks to the base-fetch, overrides should upcall this class, e.g. SharedAsyncFetch::HandleWrite(...).

Member Function Documentation

virtual bool net_instaweb::SharedAsyncFetch::IsBackgroundFetch ( ) const

Indicates whether the request is a background fetch. These can be scheduled differently by the fetcher.

Reimplemented from net_instaweb::AsyncFetch.

virtual bool net_instaweb::SharedAsyncFetch::IsCachedResultValid ( const ResponseHeaders headers)

Is the cache entry corresponding to headers valid? Default is that it is valid. Sub-classes can provide specific implementations, e.g., based on cache invalidation timestamp in domain specific options. Used by CacheUrlAsyncFetcher.

TODO(nikhilmadan): Consider making this virtual so that subclass authors are forced to look at this function.

Reimplemented from net_instaweb::AsyncFetch.

Reimplemented in net_instaweb::ProxyFetch.

virtual const RequestContextPtr& net_instaweb::SharedAsyncFetch::request_context ( )

Returns the request context associated with this fetch, if any, or NULL if no request context exists.

Reimplemented from net_instaweb::AsyncFetch.

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