18 #ifndef FOEDUS_MEMORY_ENGINE_MEMORY_HPP_
19 #define FOEDUS_MEMORY_ENGINE_MEMORY_HPP_
77 return node_memories_[group];
91 return global_volatile_page_resolver_;
127 std::vector<NumaNodeMemoryRef*> node_memories_;
136 #endif // FOEDUS_MEMORY_ENGINE_MEMORY_HPP_
ErrorStack uninitialize_once() override
#define CXX11_NULLPTR
Used in public headers in place of "nullptr" of C++11.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Typedefs of ID types used in thread package.
const GlobalVolatilePageResolver & get_global_volatile_page_resolver() const
Returns the page resolver to convert volatile page ID to page pointer.
Represents a pointer to a volatile page with modification count for preventing ABA.
Forward declarations of classes in root package.
ErrorStack load_one_volatile_page(cache::SnapshotFileSet *fileset, storage::SnapshotPagePointer snapshot_pointer, storage::VolatilePagePointer *pointer, storage::Page **page)
Another convenience method that also reads an existing snapshot page to the volatile page...
Brings error stacktrace information as return value of functions.
Typical implementation of Initializable as a skeleton base class.
Holds a set of read-only file objects for snapshot files.
EngineMemory(Engine *engine)
ErrorStack initialize_once() override
void * get_shared_user_memory() const
As part of the global shared memory, we reserve this size of 'user memory' that can be used for arbit...
Forward declarations of classes in cache package.
A view of NumaNodeMemory for other SOCs and master engine.
Forward declarations of classes in storage package.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
uint64_t SnapshotPagePointer
Page ID of a snapshot page.
Database engine object that holds all resources and provides APIs.
Repository of memories dynamically acquired and shared within one NUMA node (socket).
NumaNodeMemoryRef * get_node_memory(foedus::thread::ThreadGroupId group) const
Just a marker to denote that the memory region represents a data page.
ErrorStack grab_one_volatile_page(foedus::thread::ThreadGroupId node, storage::VolatilePagePointer *pointer, storage::Page **page)
A convenience function to grab one free volatile page from the given node.
uint64_t get_shared_user_memory_size() const
Forward declarations of classes in memory package.
#define CXX11_OVERRIDE
Used in public headers in place of "override" of C++11.
std::string dump_free_memory_stat() const
Report rough statistics of free memory.
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
NumaNodeMemory * get_local_memory() const
Repository of all memories dynamically acquired and shared within one database engine.
uint8_t ThreadGroupId
Typedef for an ID of ThreadGroup (NUMA node).