libspatialindex API Reference  (git-trunk)
SpatialIndex::StorageManager::DiskStorageManager Class Reference

#include <DiskStorageManager.h>

Inheritance diagram for SpatialIndex::StorageManager::DiskStorageManager:
Inheritance graph
Collaboration diagram for SpatialIndex::StorageManager::DiskStorageManager:
Collaboration graph

Public Member Functions

 DiskStorageManager (Tools::PropertySet &)
 
 ~DiskStorageManager () override
 
void flush () override
 
void loadByteArray (const id_type page, uint32_t &len, uint8_t **data) override
 
void storeByteArray (id_type &page, const uint32_t len, const uint8_t *const data) override
 
void deleteByteArray (const id_type page) override
 
- Public Member Functions inherited from SpatialIndex::IStorageManager
virtual ~IStorageManager ()=default
 

Protected Attributes

std::fstream m_dataFile
 
std::fstream m_indexFile
 
uint32_t m_pageSize
 
id_type m_nextPage
 
std::set< id_typem_emptyPages
 
std::map< id_type, Entry * > m_pageIndex
 
uint8_t * m_buffer
 

Detailed Description

Definition at line 34 of file DiskStorageManager.h.

Constructor & Destructor Documentation

◆ DiskStorageManager()

◆ ~DiskStorageManager()

DiskStorageManager::~DiskStorageManager ( )
override

Definition at line 285 of file DiskStorageManager.cc.

References flush(), m_buffer, m_dataFile, m_indexFile, and m_pageIndex.

Here is the call graph for this function:

Member Function Documentation

◆ deleteByteArray()

void DiskStorageManager::deleteByteArray ( const id_type  page)
overridevirtual

Implements SpatialIndex::IStorageManager.

Definition at line 502 of file DiskStorageManager.cc.

References m_emptyPages, and m_pageIndex.

◆ flush()

void DiskStorageManager::flush ( )
overridevirtual

Implements SpatialIndex::IStorageManager.

Definition at line 296 of file DiskStorageManager.cc.

References m_dataFile, m_emptyPages, m_indexFile, m_nextPage, m_pageIndex, and m_pageSize.

Referenced by ~DiskStorageManager().

Here is the caller graph for this function:

◆ loadByteArray()

void DiskStorageManager::loadByteArray ( const id_type  page,
uint32_t &  len,
uint8_t **  data 
)
overridevirtual

Implements SpatialIndex::IStorageManager.

Definition at line 354 of file DiskStorageManager.cc.

References m_buffer, m_dataFile, m_pageIndex, and m_pageSize.

◆ storeByteArray()

void DiskStorageManager::storeByteArray ( id_type page,
const uint32_t  len,
const uint8_t *const  data 
)
overridevirtual

Member Data Documentation

◆ m_buffer

uint8_t* SpatialIndex::StorageManager::DiskStorageManager::m_buffer
protected

◆ m_dataFile

std::fstream SpatialIndex::StorageManager::DiskStorageManager::m_dataFile
protected

◆ m_emptyPages

std::set<id_type> SpatialIndex::StorageManager::DiskStorageManager::m_emptyPages
protected

Definition at line 58 of file DiskStorageManager.h.

Referenced by deleteByteArray(), DiskStorageManager(), flush(), and storeByteArray().

◆ m_indexFile

std::fstream SpatialIndex::StorageManager::DiskStorageManager::m_indexFile
protected

Definition at line 55 of file DiskStorageManager.h.

Referenced by DiskStorageManager(), flush(), and ~DiskStorageManager().

◆ m_nextPage

id_type SpatialIndex::StorageManager::DiskStorageManager::m_nextPage
protected

Definition at line 57 of file DiskStorageManager.h.

Referenced by DiskStorageManager(), flush(), and storeByteArray().

◆ m_pageIndex

std::map<id_type, Entry*> SpatialIndex::StorageManager::DiskStorageManager::m_pageIndex
protected

◆ m_pageSize

uint32_t SpatialIndex::StorageManager::DiskStorageManager::m_pageSize
protected

Definition at line 56 of file DiskStorageManager.h.

Referenced by DiskStorageManager(), flush(), loadByteArray(), and storeByteArray().


The documentation for this class was generated from the following files: