Page Speed Optimization Libraries  1.3.25.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
net_instaweb::ApacheServerContext Class Reference

#include "apache_server_context.h"

Inheritance diagram for net_instaweb::ApacheServerContext:
net_instaweb::ServerContext

List of all members.

Public Member Functions

 ApacheServerContext (ApacheRewriteDriverFactory *factory, server_rec *server, const StringPiece &version)
GoogleString hostname_identifier ()
ApacheRewriteDriverFactoryapache_factory ()
ApacheConfigconfig ()
bool InitFileCachePath ()
ApacheConfigSpdyConfigOverlay ()
ApacheConfigNonSpdyConfigOverlay ()
bool has_spdy_config_overlay () const
bool has_non_spdy_config_overlay () const
void set_spdy_config_overlay (ApacheConfig *x)
 These two take ownership of their parameters.
void set_non_spdy_config_overlay (ApacheConfig *x)
ApacheConfigSpdyConfig ()
RewriteDriverPoolspdy_driver_pool ()
void CollapseConfigOverlaysAndComputeSignatures ()
void CreateLocalStatistics (Statistics *global_statistics)
void ChildInit ()
 Should be called after the child process is forked.
bool initialized () const
bool PoolDestroyed ()
void PollFilesystemForCacheFlush ()
void AddHtmlRewriteTimeUs (int64 rewrite_time_us)
const server_rec * server () const
virtual RewriteDriverPoolSelectDriverPool (bool using_spdy)
 Chooses a driver pool based on the request protocol.
virtual void ApplySessionFetchers (const RequestContextPtr &req, RewriteDriver *driver)

Static Public Member Functions

static void InitStats (Statistics *statistics)

Detailed Description

Creates an Apache-specific ServerContext. This differs from base class that it incorporates by adding per-VirtualHost configuration, including:


Member Function Documentation

Accumulate in a histogram the amount of time spent rewriting HTML.

Todo:
TODO(sligocki): Remove in favor of RewriteStats::rewrite_latency_histogram.
virtual void net_instaweb::ApacheServerContext::ApplySessionFetchers ( const RequestContextPtr req,
RewriteDriver driver 
) [virtual]

Provides a hook for ServerContext implementations to determine the fetcher implementation based on the request.

Reimplemented from net_instaweb::ServerContext.

This should be called after all configuration parsing is done to collapse configuration inside the config overlays into actual ApacheConfig objects. It will also compute signatures when done.

Initialize this ServerContext to have its own statistics domain. Must be called after global_statistics has been created and had ::Initialize called on it.

These return true if the given overlays were constructed (in response to having something in config files to put in them).

Poll; if we haven't checked the timestamp of $FILE_PREFIX/cache.flush in the past cache_flush_poll_interval_sec_ (default 5) seconds do so, and if the timestamp has expired then update the cache_invalidation_timestamp in global_options, thus flushing the cache.

Todo:

TODO(jmarantz): allow configuration of this option.

TODO(jmarantz): allow a URL-based mechanism to flush cache, even if we implement it by simply writing the cache.flush file so other servers can see it. Note that using shared-memory is not a great plan because we need the cache-invalidation to persist across server restart.

Called on notification from Apache on child exit. Returns true if this is the last ServerContext that exists.

Pool to pass to NewRewriteDriverFromPool to get a RewriteDriver configured with SPDY-specific options. May be NULL in case there is no spdy-specific configuration.

Returns special configuration that should be used for SPDY sessions instead of config(). Returns NULL if config() should be used instead.

These return configuration objects that hold settings from <ModPagespeedIf spdy>=""> and <ModPagespeedIf !spdy> sections of configuration. They initialize lazily, so are not thread-safe; however they are only meant to be used during configuration parsing. These methods should be called only if there is actually a need to put something in them, since otherwise we may end up constructing separate SPDY vs. non-SPDY configurations needlessly.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines