20 #ifndef NET_INSTAWEB_HTTP_PUBLIC_ASYNC_FETCH_WITH_LOCK_H_
21 #define NET_INSTAWEB_HTTP_PUBLIC_ASYNC_FETCH_WITH_LOCK_H_
24 #include "net/instaweb/http/public/request_context.h"
30 namespace net_instaweb {
35 class NamedLockManager;
36 class UrlAsyncFetcher;
90 virtual void Finalize(
bool lock_failure,
bool success);
106 virtual bool HandleWrite(
123 const Hasher* lock_hasher_;
128 friend class RewriteContextTest;
const GoogleString & url() const
Url to be fetched.
Definition: async_fetch_with_lock.h:77
const GoogleString & cache_key() const
Cache key to be locked.
Definition: async_fetch_with_lock.h:80
Non-blocking locking class.
Definition: named_lock_manager.h:31
virtual void Finalize(bool lock_failure, bool success)
Definition: named_lock_manager.h:82
virtual const RequestContextPtr & request_context()
Definition: async_fetch.h:151
void Start(UrlAsyncFetcher *fetcher)
Definition: scoped_ptr.h:30
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
Definition: async_fetch_with_lock.h:61
Definition: async_fetch.h:53
virtual void StartFetch(UrlAsyncFetcher *fetcher, MessageHandler *handler)=0
virtual void HandleDone(bool success)
Definition: message_handler.h:39
virtual bool ShouldYieldToRedundantFetchInProgress()=0
virtual void HandleHeadersComplete()
Definition: url_async_fetcher.h:33