15#include <boost/thread.hpp>
26 using Ptr = std::shared_ptr<uint8_t>;
27 using ConstPtr = std::shared_ptr<const uint8_t>;
33 using Ptr = std::shared_ptr<Scroom::MemoryBlocks::Page>;
40 using Ptr = std::shared_ptr<PageProvider>;
77 using Ptr = std::shared_ptr<Blob>;
137 : blob(
std::move(blob_))
const uint8_t value
Definition blob-tests.cc:114
PageProvider::Ptr provider
Definition blob-tests.cc:26
Definition memoryblobs.hh:89
UnloadData(Blob::Ptr blob)
Definition memoryblobs.hh:136
Blob::Ptr blob
Definition memoryblobs.hh:91
void operator()(uint8_t *data)
Definition memoryblobs.hh:141
Definition memoryblobs.hh:75
std::shared_ptr< ThreadPool > cpuBound
Definition memoryblobs.hh:108
std::shared_ptr< Blob > Ptr
Definition memoryblobs.hh:77
uint8_t * data
Definition memoryblobs.hh:103
void compress()
Definition memoryblobs.cc:136
static Ptr create(PageProvider::Ptr provider, size_t size)
Definition memoryblobs.cc:71
State
Definition memoryblobs.hh:81
@ DIRTY
Definition memoryblobs.hh:84
@ COMPRESSING
Definition memoryblobs.hh:85
@ CLEAN
Definition memoryblobs.hh:83
@ UNINITIALIZED
Definition memoryblobs.hh:82
void unload()
Definition memoryblobs.cc:117
RawPageData::Ptr get()
Definition memoryblobs.cc:151
PageList pages
Definition memoryblobs.hh:107
RawPageData::Ptr load()
Definition memoryblobs.cc:81
State state
Definition memoryblobs.hh:104
RawPageData::Ptr initialize(uint8_t value)
Definition memoryblobs.cc:159
int refcount
Definition memoryblobs.hh:109
PageProvider::Ptr provider
Definition memoryblobs.hh:101
boost::mutex mut
Definition memoryblobs.hh:105
RawPageData::WeakPtr weakData
Definition memoryblobs.hh:106
RawPageData::ConstPtr getConst()
Definition memoryblobs.cc:168
size_t size
Definition memoryblobs.hh:102
Definition memoryblobs.hh:52
MarkPageFree(PageProvider::Ptr provider)
Definition memoryblobs.hh:127
PageProvider::Ptr provider
Definition memoryblobs.hh:54
void operator()(Scroom::MemoryBlocks::Page *page)
Definition memoryblobs.hh:132
Definition memoryblobs.hh:38
size_t getPageSize() const
Definition memoryblobs.cc:61
static Ptr create(size_t blockCount, size_t blockSize)
Definition memoryblobs.cc:37
void markPageFree(Scroom::MemoryBlocks::Page *page)
Definition memoryblobs.cc:63
Page::Ptr getFreePage()
Definition memoryblobs.cc:42
size_t blockSize
Definition memoryblobs.hh:44
Scroom::MemoryBlocks::BlockFactoryInterface::Ptr blockFactoryInterface
Definition memoryblobs.hh:45
Scroom::MemoryBlocks::PageList allPages
Definition memoryblobs.hh:46
size_t blockCount
Definition memoryblobs.hh:43
std::list< Scroom::MemoryBlocks::Page * > freePages
Definition memoryblobs.hh:47
std::shared_ptr< PageProvider > Ptr
Definition memoryblobs.hh:40
boost::mutex mut
Definition memoryblobs.hh:48
std::shared_ptr< BlockFactoryInterface > Ptr
Definition blockallocator.hh:59
Definition blockallocator.hh:28
Definition utilities.hh:34
Definition threadpool.hh:43
PresentationInterfaceStub::Ptr const p
Definition determine-size-test.cc:172
std::shared_ptr< Scroom::MemoryBlocks::Page > Ptr
Definition memoryblobs.hh:33
std::shared_ptr< const uint8_t > ConstPtr
Definition memoryblobs.hh:27
std::shared_ptr< uint8_t > Ptr
Definition memoryblobs.hh:26
std::weak_ptr< uint8_t > WeakPtr
Definition memoryblobs.hh:28
Definition memoryblobs.hh:23
std::list< Page::Ptr > PageList
Definition memoryblobs.hh:35
std::list< Page > PageList
Definition blockallocator.hh:39