libfoedus-core
FOEDUS Core Library
storage_id.hpp File Reference

Definitions of IDs in this package and a few related constant values. More...

Detailed Description

Definitions of IDs in this package and a few related constant values.

Definition in file storage_id.hpp.

Include dependency graph for storage_id.hpp:

Go to the source code of this file.

Classes

struct  foedus::storage::VolatilePagePointer
 Represents a pointer to a volatile page with modification count for preventing ABA. More...
 
struct  foedus::storage::DualPagePointer
 Represents a pointer to another page (usually a child page). More...
 

Namespaces

 foedus
 Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
 
 foedus::storage
 Storage Manager, which implements a couple of key/value stores.
 

Typedefs

typedef uint32_t foedus::storage::StorageId
 Unique ID for storage. More...
 
typedef assorted::FixedString< 60 > foedus::storage::StorageName
 Represents a unique name of a storage. More...
 
typedef thread::ThreadGroupId foedus::storage::PartitionId
 As partition=NUMA node, this is just a synonym of foedus::thread::ThreadGroupId. More...
 
typedef uint64_t foedus::storage::SnapshotPagePointer
 Page ID of a snapshot page. More...
 
typedef uint64_t foedus::storage::SnapshotLocalPageId
 Represents a local page ID in each one snapshot file in some NUMA node. More...
 
typedef uint32_t foedus::storage::Checksum
 Checksum of a snapshot page. More...
 

Enumerations

enum  foedus::storage::StorageType {
  foedus::storage::kInvalidStorage = 0, foedus::storage::kArrayStorage, foedus::storage::kHashStorage, foedus::storage::kMasstreeStorage,
  foedus::storage::kSequentialStorage
}
 Type of the storage, such as hash. More...
 
enum  foedus::storage::StorageStatus { foedus::storage::kNotExists = 0, foedus::storage::kExists, foedus::storage::kMarkedForDeath }
 Status of a storage. More...
 

Functions

void foedus::storage::_dummy_static_size_check__COUNTER__ ()
 
SnapshotLocalPageId foedus::storage::extract_local_page_id_from_snapshot_pointer (SnapshotPagePointer pointer)
 
uint8_t foedus::storage::extract_numa_node_from_snapshot_pointer (SnapshotPagePointer pointer)
 
uint16_t foedus::storage::extract_snapshot_id_from_snapshot_pointer (SnapshotPagePointer pointer)
 
void foedus::storage::assert_valid_snapshot_local_page_id (SnapshotLocalPageId page_id)
 
SnapshotPagePointer foedus::storage::to_snapshot_page_pointer (uint16_t snapshot_id, uint8_t node, SnapshotLocalPageId local_page_id)
 
void foedus::storage::describe_snapshot_pointer (std::ostream *o, SnapshotPagePointer pointer)
 
const char * foedus::storage::to_storage_type_name (StorageType type)
 Gives a string representation of StorageType. More...
 
void foedus::storage::describe_volatile_pointer (std::ostream *o, VolatilePagePointer pointer)
 
VolatilePagePointer foedus::storage::construct_volatile_page_pointer (uint64_t word)
 
VolatilePagePointer foedus::storage::combine_volatile_page_pointer (uint8_t numa_node, memory::PagePoolOffset offset)
 

Variables

const uint16_t foedus::storage::kPageSize = 1 << 12
 A constant defining the page size (in bytes) of both snapshot pages and volatile pages. More...
 
const uint8_t foedus::storage::kVolatilePointerFlagSwappable = 0x02