19 #ifndef PAGESPEED_KERNEL_CACHE_THREADSAFE_CACHE_H_
20 #define PAGESPEED_KERNEL_CACHE_THREADSAFE_CACHE_H_
28 #include "pagespeed/kernel/base/thread_annotations.h"
29 #include "pagespeed/kernel/cache/cache_interface.h"
31 namespace net_instaweb {
52 LOCKS_EXCLUDED(mutex_);
53 virtual void Delete(
const GoogleString& key) LOCKS_EXCLUDED(mutex_);
56 virtual bool IsHealthy() const LOCKS_EXCLUDED(mutex_);
57 virtual
void ShutDown() LOCKS_EXCLUDED(mutex_);
virtual void Get(const GoogleString &key, Callback *callback)
Abstract interface for a cache.
Definition: cache_interface.h:32
virtual void ShutDown() LOCKS_EXCLUDED(mutex_)
Abstract interface for implementing a mutex.
Definition: abstract_mutex.h:28
virtual CacheInterface * Backend()
Definition: threadsafe_cache.h:54
virtual void Put(const GoogleString &key, const SharedString &value) LOCKS_EXCLUDED(mutex_)
virtual GoogleString Name() const
Definition: threadsafe_cache.h:60
virtual bool IsHealthy() const LOCKS_EXCLUDED(mutex_)
Definition: scoped_ptr.h:30
Definition: threadsafe_cache.h:41
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
ThreadsafeCache(CacheInterface *cache, AbstractMutex *mutex)
Does not takes ownership of cache. Takes ownership of mutex.
Definition: threadsafe_cache.h:44
virtual bool IsBlocking() const =0
virtual bool IsBlocking() const
Definition: threadsafe_cache.h:55
Definition: shared_string.h:40
virtual GoogleString Name() const =0