From b1125b7f1f8f5b37651fc89e5054424d8defaca4 Mon Sep 17 00:00:00 2001 From: Daniel Patterson Date: Thu, 10 Nov 2016 16:56:56 -0800 Subject: [PATCH] Rename base class to something more in line with it's actual function. --- ...se.hpp => bigramblock_datafacade_base.hpp} | 22 ++++++++++--------- .../datafacade/internal_memory_datafacade.hpp | 4 ++-- .../datafacade/shared_memory_datafacade.hpp | 11 ++++++++-- 3 files changed, 23 insertions(+), 14 deletions(-) rename include/engine/datafacade/{memory_datafacade_base.hpp => bigramblock_datafacade_base.hpp} (99%) diff --git a/include/engine/datafacade/memory_datafacade_base.hpp b/include/engine/datafacade/bigramblock_datafacade_base.hpp similarity index 99% rename from include/engine/datafacade/memory_datafacade_base.hpp rename to include/engine/datafacade/bigramblock_datafacade_base.hpp index c54d966fa..8eecc66fd 100644 --- a/include/engine/datafacade/memory_datafacade_base.hpp +++ b/include/engine/datafacade/bigramblock_datafacade_base.hpp @@ -1,5 +1,5 @@ -#ifndef SHARED_DATAFACADE_HPP -#define SHARED_DATAFACADE_HPP +#ifndef MEMORYBLOCK_DATAFACADE_HPP +#define MEMORYBLOCK_DATAFACADE_HPP // implements all data storage when shared memory _IS_ used @@ -44,10 +44,17 @@ namespace engine namespace datafacade { -class MemoryDataFacadeBase : public BaseDataFacade +/** + * This base class implements the Datafacade interface for accessing + * data that's stored in a single large block of memory. + */ +class BigRAMBlockDataFacadeBase : public BaseDataFacade { - protected: + storage::DataLayout *data_layout; + char *memory_block; + + private: using super = BaseDataFacade; using QueryGraph = util::StaticGraph; using GraphNode = QueryGraph::NodeArrayEntry; @@ -60,13 +67,8 @@ class MemoryDataFacadeBase : public BaseDataFacade using SharedGeospatialQuery = GeospatialQuery; using RTreeNode = SharedRTree::TreeNode; - storage::DataLayout *data_layout; - char *memory_block; - unsigned m_check_sum; std::unique_ptr m_query_graph; - std::unique_ptr m_layout_memory; - std::unique_ptr m_large_memory; std::string m_timestamp; extractor::ProfileProperties *m_profile_properties; @@ -932,4 +934,4 @@ class MemoryDataFacadeBase : public BaseDataFacade } } -#endif // SHARED_DATAFACADE_HPP +#endif // MEMORYBLOCK_DATAFACADE_HPP diff --git a/include/engine/datafacade/internal_memory_datafacade.hpp b/include/engine/datafacade/internal_memory_datafacade.hpp index 29e4c3216..4db0c708b 100644 --- a/include/engine/datafacade/internal_memory_datafacade.hpp +++ b/include/engine/datafacade/internal_memory_datafacade.hpp @@ -3,7 +3,7 @@ // implements all data storage when shared memory is _NOT_ used -#include "engine/datafacade/memory_datafacade_base.hpp" +#include "engine/datafacade/bigramblock_datafacade_base.hpp" #include "storage/storage.hpp" namespace osrm @@ -21,7 +21,7 @@ namespace datafacade * This class holds a unique_ptr to the memory block, so it * is auto-freed upon destruction. */ -class InternalDataFacade final : public MemoryDataFacadeBase +class InternalDataFacade final : public BigRAMBlockDataFacadeBase { private: diff --git a/include/engine/datafacade/shared_memory_datafacade.hpp b/include/engine/datafacade/shared_memory_datafacade.hpp index 16c06e1fe..0ddc6f308 100644 --- a/include/engine/datafacade/shared_memory_datafacade.hpp +++ b/include/engine/datafacade/shared_memory_datafacade.hpp @@ -6,7 +6,7 @@ #include "storage/shared_barriers.hpp" #include "storage/shared_datatype.hpp" #include "storage/shared_memory.hpp" -#include "engine/datafacade/memory_datafacade_base.hpp" +#include "engine/datafacade/bigramblock_datafacade_base.hpp" namespace osrm { @@ -15,10 +15,17 @@ namespace engine namespace datafacade { -class SharedDataFacade : public MemoryDataFacadeBase +/** + * This datafacade uses an IPC shared memory block as the data location. + * Many SharedDataFacade objects can be created that point to the same shared + * memory block. + */ +class SharedDataFacade : public BigRAMBlockDataFacadeBase { protected: + std::unique_ptr m_layout_memory; + std::unique_ptr m_large_memory; std::shared_ptr shared_barriers; storage::SharedDataType layout_region; storage::SharedDataType data_region;