Go to the documentation of this file.
14 #include <boost/shared_ptr.hpp>
15 #include <boost/thread.hpp>
16 #include <boost/weak_ptr.hpp>
27 using Ptr = boost::shared_ptr<uint8_t>;
28 using ConstPtr = boost::shared_ptr<const uint8_t>;
34 using Ptr = boost::shared_ptr<Scroom::MemoryBlocks::Page>;
41 using Ptr = boost::shared_ptr<PageProvider>;
78 using Ptr = boost::shared_ptr<Blob>;
129 : provider(std::move(provider_))
138 : blob(std::move(blob_))
PageProvider(size_t blockCount, size_t blockSize)
Definition: memoryblobs.cc:30
boost::shared_ptr< PageProvider > Ptr
Definition: memoryblobs.hh:41
std::list< Scroom::MemoryBlocks::Page * > freePages
Definition: memoryblobs.hh:48
boost::shared_ptr< const uint8_t > ConstPtr
Definition: memoryblobs.hh:28
Definition: blockallocator.hh:29
Blob::Ptr blob
Definition: memoryblobs.hh:92
Definition: memoryblobs.hh:89
Scroom::MemoryBlocks::PageList allPages
Definition: memoryblobs.hh:47
boost::shared_ptr< Blob > Ptr
Definition: memoryblobs.hh:78
int refcount
Definition: memoryblobs.hh:110
RawPageData::Ptr initialize(uint8_t value)
Definition: memoryblobs.cc:159
PageProvider::Ptr provider
Definition: memoryblobs.hh:102
State
Definition: memoryblobs.hh:81
Definition: memoryblobs.hh:52
Definition: threadpool.hh:46
RawPageData::WeakPtr weakData
Definition: memoryblobs.hh:107
std::list< Page::Ptr > PageList
Definition: memoryblobs.hh:36
@ UNINITIALIZED
Definition: memoryblobs.hh:83
RawPageData::Ptr load()
Definition: memoryblobs.cc:81
static Ptr create(size_t blockCount, size_t blockSize)
Definition: memoryblobs.cc:37
Definition: memoryblobs.hh:38
size_t getPageSize() const
Definition: memoryblobs.cc:61
boost::mutex mut
Definition: memoryblobs.hh:49
size_t size
Definition: memoryblobs.hh:103
std::list< Page > PageList
Definition: blockallocator.hh:41
boost::shared_ptr< uint8_t > Ptr
Definition: memoryblobs.hh:27
boost::shared_ptr< Scroom::MemoryBlocks::Page > Ptr
Definition: memoryblobs.hh:34
void operator()(uint8_t *data)
Definition: memoryblobs.hh:142
boost::mutex mut
Definition: memoryblobs.hh:106
@ CLEAN
Definition: memoryblobs.hh:84
@ COMPRESSING
Definition: memoryblobs.hh:86
Definition: utilities.hh:30
void compress()
Definition: memoryblobs.cc:136
UnloadData(Blob::Ptr blob)
Definition: memoryblobs.hh:137
size_t blockSize
Definition: memoryblobs.hh:45
RawPageData::ConstPtr getConst()
Definition: memoryblobs.cc:168
Definition: memoryblobs.hh:23
Scroom::MemoryBlocks::BlockFactoryInterface::Ptr blockFactoryInterface
Definition: memoryblobs.hh:46
static Ptr create(PageProvider::Ptr provider, size_t size)
Definition: memoryblobs.cc:71
void markPageFree(Scroom::MemoryBlocks::Page *page)
Definition: memoryblobs.cc:63
boost::weak_ptr< uint8_t > WeakPtr
Definition: memoryblobs.hh:29
PageProvider::Ptr provider
Definition: memoryblobs.hh:55
size_t blockCount
Definition: memoryblobs.hh:44
void operator()(Scroom::MemoryBlocks::Page *page)
Definition: memoryblobs.hh:133
MarkPageFree(PageProvider::Ptr provider)
Definition: memoryblobs.hh:128
Definition: memoryblobs.hh:75
boost::shared_ptr< BlockFactoryInterface > Ptr
Definition: blockallocator.hh:61
uint8_t * data
Definition: memoryblobs.hh:104
@ DIRTY
Definition: memoryblobs.hh:85
PageList pages
Definition: memoryblobs.hh:108
void unload()
Definition: memoryblobs.cc:117
Blob(PageProvider::Ptr provider, size_t size)
Definition: memoryblobs.cc:73
Page::Ptr getFreePage()
Definition: memoryblobs.cc:42
RawPageData::Ptr get()
Definition: memoryblobs.cc:151
State state
Definition: memoryblobs.hh:105
boost::shared_ptr< ThreadPool > cpuBound
Definition: memoryblobs.hh:109