Page Speed Optimization Libraries
1.2.24.1
|
#include "request_context.h"
Public Member Functions | |
RequestContext (AbstractMutex *logging_mutex) | |
RequestTrace * | trace_context () |
The trace context. Takes ownership of the given context. | |
void | set_trace_context (RequestTrace *x) |
LogRecord * | log_record () |
The log record for the this request, created when the request context is. | |
Static Public Member Functions | |
static RequestContextPtr | NewTestRequestContext (ThreadSystem *thread_system) |
Protected Member Functions | |
RequestContext () | |
void | set_log_record (LogRecord *l) |
virtual | ~RequestContext () |
Destructors in refcounted classes should be protected. | |
REFCOUNT_FRIEND_DECLARATION (RequestContext) |
A class which wraps state associated with a request.
This object should be reference counted, wrapped in a RequestContextPtr. We use reference counting because, depending on the timing of asynchronous rewrites, RPC calls, and so on, a RequestContext may outlive the original HTTP request serving, or not. Reference counting avoids the complexity of explicit transfer of ownership in these cases.
net_instaweb::RequestContext::RequestContext | ( | AbstractMutex * | logging_mutex | ) | [explicit] |
net_instaweb::RequestContext::RequestContext | ( | ) | [protected] |
The default constructor will not create a LogRecord. Subclass constructors must do this explicitly.
static RequestContextPtr net_instaweb::RequestContext::NewTestRequestContext | ( | ThreadSystem * | thread_system | ) | [static] |
void net_instaweb::RequestContext::set_log_record | ( | LogRecord * | l | ) | [protected] |
The log record can only be set once. This should only be used by a subclass during initialization.