17 #ifndef PAGESPEED_KERNEL_BASE_ABSTRACT_SHARED_MEM_H_
18 #define PAGESPEED_KERNEL_BASE_ABSTRACT_SHARED_MEM_H_
24 namespace net_instaweb {
42 virtual volatile char*
Base() = 0;
58 virtual AbstractMutex* AttachToSharedMutex(
size_t offset) = 0;
virtual ~AbstractSharedMemSegment()
virtual AbstractSharedMemSegment * AttachToSegment(const GoogleString &name, size_t size, MessageHandler *handler)=0
virtual AbstractSharedMemSegment * CreateSegment(const GoogleString &name, size_t size, MessageHandler *handler)=0
Abstract interface for implementing a mutex.
Definition: abstract_mutex.h:28
virtual void DestroySegment(const GoogleString &name, MessageHandler *handler)=0
virtual bool IsDummy()
Definition: abstract_shared_mem.h:116
virtual volatile char * Base()=0
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
Definition: abstract_shared_mem.h:86
virtual size_t SharedMutexSize() const =0
Returns the number of bytes a mutex inside shared memory takes.
virtual size_t SharedMutexSize() const =0
Size of mutexes inside shared memory segments.
virtual bool InitializeSharedMutex(size_t offset, MessageHandler *handler)=0
Definition: message_handler.h:39
Definition: abstract_shared_mem.h:31