|
libfoedus-core
FOEDUS Core Library
|
| ▼Nfoedus | Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services) |
| ►Nassorted | Assorted Methods/Classes that are too subtle to have their own packages |
| ►CBacktraceContext | |
| CGlibcBacktraceInfo | |
| CLibBacktraceInfo | |
| CConstDiv | The pre-calculated p-m pair for optimized integer division by constant |
| CDumbSpinlock | A simple spinlock using a boolean field |
| CFixedString | An embedded string object of fixed max-length, which uses no external memory |
| CHex | Convenient way of writing hex integers to stream |
| CHexString | Equivalent to std::hex in case the stream doesn't support it |
| CProbCounter | Implements a probabilistic counter [Morris 1978] |
| CProtectedBoundary | A 4kb dummy data placed between separate memory regions so that we can check if/where a bogus memory access happens |
| CSpinlockStat | Helper for SPINLOCK_WHILE |
| CTop | Write only first few bytes to stream |
| CUniformRandom | A very simple and deterministic random generator that is more aligned with standard benchmark such as TPC-C |
| CZipfianRandom | A simple zipfian generator based off of YCSB's Java implementation |
| ►Ncache | Snapshot Cache Manager, which caches data pages retrieved from snapshot files |
| CCacheBucket | Hash bucket in cache table |
| ►CCacheHashtable | A NUMA-local hashtable of cached snapshot pages |
| CEvictArgs | Parameters for evict() |
| CStat | |
| CCacheManager | Snapshot cache manager |
| CCacheManagerPimpl | Pimpl object of CacheManager |
| CCacheOptions | Set of options for snapshot cache manager |
| CCacheOverflowEntry | An entry in the overflow linked list for snapshot cache |
| CCacheRefCount | A loosely maintained reference count for CLOCK algorithm |
| CHashFunc | A simple hash function logic used in snasphot cache |
| CSnapshotFileSet | Holds a set of read-only file objects for snapshot files |
| ►Ndebugging | Debug-Support functionalities |
| CDebuggingOptions | Set of options for debugging support |
| ►CDebuggingSupports | APIs to support debugging functionalities |
| CPapiCounters | |
| CRdtscWatch | A RDTSC-based low-overhead stop watch |
| CStopWatch | A high-resolution stop watch |
| ►Nexternalize | Object Externalization |
| CExternalizable | Represents an object that can be written to and read from files/bytes in XML format |
| CTinyxmlGetter | Functor to help use tinyxml2's Element QueryXxxText() |
| CTinyxmlGetter< assorted::FixedString< MAXLEN, CHAR > > | |
| CTinyxmlGetter< bool > | |
| CTinyxmlGetter< double > | |
| CTinyxmlGetter< float > | |
| CTinyxmlGetter< int16_t > | |
| CTinyxmlGetter< int32_t > | |
| CTinyxmlGetter< int64_t > | |
| CTinyxmlGetter< int8_t > | |
| CTinyxmlGetter< std::string > | |
| CTinyxmlGetter< uint16_t > | |
| CTinyxmlGetter< uint32_t > | |
| CTinyxmlGetter< uint64_t > | |
| CTinyxmlGetter< uint8_t > | |
| CTinyxmlSetter | Functor to help use tinyxml2's Element SetText() |
| CTinyxmlSetter< assorted::FixedString< MAXLEN, CHAR > > | |
| CTinyxmlSetter< std::string > | |
| ►Nfs | Filesystem wrapper, an analogue of boost::filesystem |
| CDeviceEmulationOptions | Set of configurations to emulate slower devices for some experiments |
| CDirectIoFile | Represents an I/O stream on one file without filesystem caching |
| CFileStatus | Analogue of boost::filesystem::file_status |
| CPath | Analogue of boost::filesystem::path |
| CSpaceInfo | Analogue of boost::filesystem::space_info |
| ►Nlog | Log Manager, which writes out transactional logs |
| CBaseLogType | Base class for log type |
| CEngineLogType | Base class for log type of engine-wide operation |
| CEpochHistory | Represents an event where a logger switched its epoch |
| CEpochMarkerLogType | A log type to declare a switch of epoch in a logger or the engine |
| CFillerLogType | A dummy log type to fill up a sector in log files |
| CLogger | A log writer that writes out buffered logs to stable storages |
| CLoggerControlBlock | Shared data of Logger |
| CLoggerRef | A view of Logger object for other SOCs and master engine |
| CLogHeader | A common header part for all log types |
| CLogManager | Log Manager class that provides API to write/read transaction logs |
| CLogManagerControlBlock | Shared data in LogManagerPimpl |
| CLogManagerPimpl | Pimpl object of LogManager |
| CLogOptions | Set of options for log manager |
| CLogRange | Contiguous range of log entries that might span multiple files |
| CMetaLogBuffer | A single log buffer for metadata (eg create/drop storage) |
| CMetaLogControlBlock | Control block for MetaLogBuffer and MetaLogger |
| CMetaLogger | A log writer for metadata operation |
| CRecordLogType | Base class for log type of record-wise operation |
| CStorageLogType | Base class for log type of storage-wide operation |
| CThreadEpockMark | A thread-buffer's epoch marker, which indicates where a thread switched an epoch |
| ►CThreadLogBuffer | A thread-local log buffer |
| COffsetRange | |
| CThreadLogBufferMeta | Metadata part of ThreadLogBuffer, without the actual buffer which is way way larger |
| ►Nmemory | Memory Manager, which controls memory allocations, deallocations, and sharing |
| CAlignedMemory | Represents one memory block aligned to actual OS/hardware pages |
| CAlignedMemorySlice | A slice of foedus::memory::AlignedMemory |
| CAutoVolatilePageReleaseScope | Automatically invokes a page offset acquired for volatile page |
| CDivvyupPageGrabBatch | A helper class to grab a bunch of pages from multiple nodes in arbitrary fashion |
| CEngineMemory | Repository of all memories dynamically acquired and shared within one database engine |
| CGlobalVolatilePageResolver | Resolves an offset in a volatile page pool to an actual pointer and vice versa |
| CLocalPageResolver | Resolves an offset in local (same NUMA node) page pool to a pointer and vice versa |
| CMemoryOptions | Set of options for memory manager |
| ►CNumaCoreMemory | Repository of memories dynamically acquired within one CPU core (thread) |
| CSmallThreadLocalMemoryPieces | Packs pointers to pieces of small_thread_local_memory_ |
| CNumaNodeMemory | Repository of memories dynamically acquired and shared within one NUMA node (socket) |
| CNumaNodeMemoryRef | A view of NumaNodeMemory for other SOCs and master engine |
| ►CPagePool | Page pool for volatile read/write store (VolatilePage) and the read-only bufferpool (SnapshotPage) |
| CStat | |
| CPagePoolControlBlock | Shared data in PagePoolPimpl |
| ►CPagePoolOffsetAndEpochChunk | Used to store an epoch value with each entry in PagePoolOffsetChunk |
| COffsetAndEpoch | |
| CPagePoolOffsetChunk | To reduce the overhead of grabbing/releasing pages from pool, we pack this many pointers for each grab/release |
| CPagePoolOffsetDynamicChunk | Used to point to an already existing array |
| CPagePoolPimpl | Pimpl object of PagePool |
| CPageReleaseBatch | A helper class to return a bunch of pages to individual nodes |
| CRoundRobinPageGrabBatch | A helper class to grab a bunch of pages from multiple nodes in round-robin fashion per chunk |
| CScopedNumaPreferred | Automatically sets and resets numa_set_preferred() |
| CSharedMemory | Represents memory shared between processes |
| ►Nproc | System and User Procedures |
| CProcArguments | Set of arguments, both inputs and outputs, given to each procedure |
| CProcManager | Procedure manager, which maintains the list of system/user procedures |
| CProcManagerControlBlock | This small control block is used to synchronize the access to the array |
| ►CProcManagerPimpl | Pimpl object of ProcManager |
| CSharedData | All shared data in this module |
| CProcOptions | Set of options for loading system/user procedures |
| ►Nrestart | Restart Manager, which recovers the state of database by re-playing transaction logs at start-up |
| CRestartManager | Restart manager, which recovers the state of database by invoking log-gleaner at start-up |
| CRestartManagerControlBlock | Shared data in RestartManagerPimpl |
| CRestartManagerPimpl | Pimpl object of RestartManager |
| CRestartOptions | Set of options for restart manager |
| ►Nsavepoint | Savepoint Manager, which durably and atomically remembers what happened in the engine occasionally (eg |
| CFixedSavepoint | Savepoint that can be stored in shared memory |
| CLoggerSavepointInfo | Information in savepoint for one logger |
| CSavepoint | The information we maintain in savepoint manager and externalize to a file |
| CSavepointManager | Savepoint manager that atomically and durably writes out a savepoint file |
| CSavepointManagerControlBlock | Shared data in SavepointManagerPimpl |
| CSavepointManagerPimpl | Pimpl object of SavepointManager |
| CSavepointOptions | Set of options for savepoint manager |
| ►Nsnapshot | Snapshot Manager, which manages snapshot files of the database |
| CBlockHeaderBase | All log blocks in mapper/reducers start with this header |
| CDumpFileSortedBuffer | Implementation of SortedBuffer that is backed by a dumped file |
| CFillerBlockHeader | A header for a dummy storage block that fills the gap between the end of previous storage block and the beginning of next storage block |
| CFullBlockHeader | All blocks that have content start with this header |
| CInMemorySortedBuffer | Implementation of SortedBuffer that is backed by fully in-memory buffer |
| CLogBuffer | Packages handling of 4-bytes representation of position in log buffers |
| CLogGleaner | A log-gleaner, which constructs a new set of snapshot files during snapshotting |
| CLogGleanerControlBlock | Shared data for LogGleaner |
| CLogGleanerRef | A remote view of LogGleaner from all engines |
| ►CLogGleanerResource | Local resource for the log gleaner, which runs only in the master node |
| CPerNodeResource | These buffers are used to read intermediate results from each reducer to compose the root page or other kinds of pages that weren't composed in each reducer (eg |
| CLogMapper | A log mapper, which reads log files from one logger and sends them to corresponding log reducers |
| CLogReducer | A log reducer, which receives log entries sent from mappers and applies them to construct new snapshot files |
| CLogReducerControlBlock | Shared data for LogReducer |
| CLogReducerRef | A remote view of LogReducer from all engines |
| CMapReduceBase | Base class for LogMapper and LogReducer to share common code |
| ►CMergeSort | Receives an arbitrary number of sorted buffers and emits one fully sorted stream of logs |
| CAdjustComparatorMasstree | Used in batch_sort_adjust_sort if the storage is a masstree storage |
| CGroupifyResult | Represents a group of consecutive logs in the current batch |
| CInputStatus | Current status of each input |
| CPositionEntry | Provides additional information for each entry we are sorting |
| CSortEntry | Entries we actually sort |
| ►CReducerBufferStatus | Compactly represents important status informations of a reducer buffer |
| CComponents | |
| CSnapshot | Represents one snapshot that converts all logs from base epoch to valid_until epoch into snapshot file(s) |
| CSnapshotManager | Snapshot manager that atomically and durably writes out a snapshot file |
| CSnapshotManagerControlBlock | Shared data in SnapshotManagerPimpl |
| CSnapshotManagerPimpl | Pimpl object of SnapshotManager |
| CSnapshotMetadata | Represents the data in one snapshot metadata file |
| CSnapshotOptions | Set of options for snapshot manager |
| CSnapshotWriter | Writes out one snapshot file for all data pages in one reducer |
| CSortedBuffer | Represents one input stream of sorted log entries |
| ►Nsoc | System On Chip (SOC) and interprocess communication (IPC) |
| CChildEngineStatus | Current status of a child SOC engine |
| CGlobalMemoryAnchors | Just a set of pointers within global_memory_ for ease of use |
| CMasterEngineStatus | Current status of master engine |
| CNodeMemoryAnchors | Same as GlobalMemoryAnchors except this is for node_memories_ |
| CSharedCond | A conditional variable that can be placed in shared memory and used from multiple processes |
| CSharedMemoryRepo | Repository of all shared memory in one FOEDUS instance |
| CSharedMutex | A mutex that can be placed in shared memory and used from multiple processes |
| CSharedMutexScope | Auto-lock scope object for SharedMutex |
| CSharedPolling | A polling-wait mechanism that can be placed in shared memory and used from multiple processes |
| CSharedRendezvous | A one-time single-producer multiple-consumer event synchronization in shared memory for multiple processes |
| CSocManager | SOC manager, which maintains the shared resource across SOCs and, if this engine is a master engine, manages child SOCs |
| CSocManagerPimpl | Pimpl object of SocManager |
| CSocOptions | Set of options for SOC manager |
| CThreadMemoryAnchors | Part of NodeMemoryAnchors for each thread |
| ►Nstorage | Storage Manager, which implements a couple of key/value stores |
| ►Narray | Array Storage, a dense and regular array |
| CArrayCommonUpdateLogType | A base class for ArrayOverwriteLogType/ArrayIncrementLogType |
| CArrayComposeContext | ArrayComposer's compose() implementation separated from the class itself |
| CArrayComposer | Composer for an array storage |
| CArrayCreateLogType | Log type of CREATE ARRAY STORAGE operation |
| CArrayIncrementLogType | Log type of array-storage's increment operation |
| CArrayMetadata | Metadata of an array storage |
| CArrayMetadataSerializer | |
| CArrayOverwriteLogType | Log type of array-storage's overwrite operation |
| ►CArrayPage | Represents one data page in Array Storage |
| CData | Data union for either leaf (dynamic size) or interior (fixed size) |
| CArrayPartitioner | Partitioner for an array storage |
| CArrayPartitionerData | |
| CArrayRange | Represents an offset range in an array storage |
| CArrayRootInfoPage | Output of one compose() call, which are then combined in construct_root() |
| CArrayStorage | Represents a key-value store based on a dense and regular array |
| CArrayStorageControlBlock | Shared data of this storage type |
| CArrayStoragePimpl | Pimpl object of ArrayStorage |
| CLookupRoute | Compactly represents the route to reach the given offset |
| CLookupRouteFinder | Packages logic and required properties to calculate LookupRoute in array storage from offset |
| CSortEntry | Used in sort_batch() |
| ►Nhash | Hashtable Storage, a concurrent hashtable |
| CBloomFilterFingerprint | A fingerprint for bloom filter in each HashDataPage |
| CComposedBin | Represents an output of composer on one bin |
| CComposedBinsBuffer | Abstracts how we batch-read several HashComposedBinsPage emit from individual composers |
| CComposedBinsMergedStream | Packages all ComposedBinsBuffer to easily extract bins of current interest |
| CDataPageBloomFilter | To quickly check whether a HashDataPage might contain a specific hash value, we maintain a non-counting bloom filter in each page |
| CHashBinRange | Represents a range of hash bins in a hash storage, such as what an intermediate page is responsible for |
| CHashCombo | A set of information that are used in many places, extracted from the given key |
| CHashCommonLogType | A base class for HashInsertLogType/HashDeleteLogType/HashOverwriteLogType |
| CHashComposeContext | HashComposer's compose() implementation separated from the class itself |
| CHashComposedBinsPage | A page to pack many ComposedBin as an output of composer |
| CHashComposer | Composer for a hash storage |
| CHashCreateLogType | Log type of CREATE HASH STORAGE operation |
| ►CHashDataPage | Represents an individual data page in Hashtable Storage |
| CSlot | Fix-sized slot for each record, which is placed at the end of data region |
| CHashDeleteLogType | Log type of hash-storage's delete operation |
| CHashInsertLogType | Log type of hash-storage's insert operation |
| CHashIntermediatePage | Represents an intermediate page in Hashtable Storage |
| CHashMetadata | Metadata of an hash storage |
| CHashMetadataSerializer | |
| CHashOverwriteLogType | Log type of hash-storage's overwrite operation |
| CHashPartitioner | Partitioner for a hash storage |
| CHashPartitionerData | |
| CHashStorage | Represents a key-value store based on a dense and regular hash |
| CHashStorageControlBlock | Shared data of this storage type |
| CHashStoragePimpl | Pimpl object of HashStorage |
| ►CHashTmpBin | An in-memory single-threaded data structure to compose tuples in a hash bin |
| CRecord | Represents a record with a unique key |
| CHashUpdateLogType | Log type of hash-storage's update operation |
| CIntermediateRoute | Compactly represents the route of intermediate pages to reach the given hash bin |
| CRecordLocation | Return value of locate_record() |
| CReserveRecords | A system transaction to reserve a physical record(s) in a hash data page |
| CSortEntry | Used in sort_batch() |
| CTmpSnashotPage | |
| ►Nmasstree | Masstree Storage, 64-bit B-tries with internal B-trees |
| CAdopt | A system transaction to adopt foster twins into an intermediate page |
| CGrowFirstLayerRoot | A system transaction to grow a first-layer root |
| CGrowNonFirstLayerRoot | A system transaction to grow a second- or depper-layer root |
| CHighFence | Used only for debugging as this is not space efficient |
| ►CMasstreeBorderPage | Represents one border page in Masstree Storage |
| CFindKeyForReserveResult | Return value for find_key_for_reserve() |
| CSlot | Fix-sized slot for each record, which is placed at the end of data region |
| CSlotLengthPart | A piece of Slot object that must be read/written in one-shot, meaning no one reads half-written values whether it reads old values or new values |
| CSlotLengthUnion | |
| ►CMasstreeCommonLogType | A base class for MasstreeInsertLogType/MasstreeDeleteLogType/MasstreeOverwriteLogType |
| CRecordAddresses | |
| ►CMasstreeComposeContext | MasstreeComposer's compose() implementation separated from the class itself |
| CFenceAndPointer | |
| CPageBoundaryInfo | Represents a minimal information to install a new snapshot page pointer |
| CPageBoundarySort | Points to PageBoundaryInfo with a sorting information |
| CPathLevel | One level in the path |
| CMasstreeComposer | Composer for an masstree storage |
| CMasstreeCreateLogType | Log type of CREATE MASSTREE STORAGE operation |
| ►CMasstreeCursor | Represents a cursor object for Masstree storage |
| CRoute | Represents one page in the current search path from layer0-root |
| CMasstreeDeleteLogType | Log type of masstree-storage's delete operation |
| CMasstreeInsertLogType | Log type of masstree-storage's insert operation |
| ►CMasstreeIntermediatePage | Represents one intermediate page in Masstree Storage |
| CMiniPage | |
| CMasstreeIntermediatePointerIterator | Handy iterator for MasstreeIntermediate |
| CMasstreeMetadata | Metadata of a masstree storage |
| CMasstreeMetadataSerializer | |
| CMasstreeOverwriteLogType | Log type of masstree-storage's overwrite operation |
| CMasstreePage | Common base of MasstreeIntermediatePage and MasstreeBorderPage |
| CMasstreePartitioner | Partitioner for a masstree storage |
| CMasstreePartitionerData | Dynamic information of one partitioner |
| ►CMasstreeStorage | Represents a Masstree storage |
| CPeekBoundariesArguments | Arguments for peek_volatile_page_boundaries() |
| CMasstreeStorageControlBlock | Shared data of this storage type |
| CMasstreeStoragePimpl | Pimpl object of MasstreeStorage |
| CMasstreeUpdateLogType | Log type of masstree-storage's update operation |
| COwnerSamples | Number of vol pages in each node sampled per pointer in the root page |
| CRecordLocation | Return value of MasstreeStoragePimpl::locate_record()/reserve_record() |
| CReserveRecords | A system transaction to reserve a physical record(s) in a border page |
| CSortEntry | Unlike array's sort entry, we don't always use this because keys are arbitrary lengthes |
| ►CSplitBorder | A system transaction to split a border page in Master-Tree |
| CSplitStrategy | |
| ►CSplitIntermediate | A system transaction to split an intermediate page in Master-Tree |
| CSplitStrategy | Constructed by hierarchically reading all separators and pointers in old page |
| ►Nsequential | Sequential Storage, an append/scan only data structure |
| CHeadPagePointer | Each pointer to a snapshot head page comes with a bit more information to help reading |
| CSequentialAppendLogType | Log type of sequential-storage's append operation |
| ►CSequentialComposer | Composer for an sequential storage |
| CRootInfoPage | Output of one compose() call, which are then combined in construct_root() |
| CSequentialCreateLogType | Log type of CREATE SEQUENTIAL STORAGE operation |
| CSequentialCursor | A cursor interface to read tuples from a sequential storage |
| CSequentialMetadata | Metadata of a sequential storage |
| CSequentialMetadataSerializer | |
| CSequentialPage | Represents one data page in Sequential Storage |
| CSequentialPartitioner | Partitioner for an sequential storage |
| CSequentialRecordBatch | A chunk of records returned by SequentialCursor |
| CSequentialRecordIterator | Iterator for one SequentialRecordBatch, or a page |
| CSequentialRootPage | Represents one stable root page in Sequential Storage |
| CSequentialStorage | Represents an append/scan-only store |
| CSequentialStorageControlBlock | Shared data of this storage type |
| ►CSequentialStoragePimpl | Lock-free list of records stored in the volatile part of sequential storage |
| CPointerPage | |
| CSequentialTruncateLogType | Log type of TRUNCATE SEQUENTIAL STORAGE operation |
| CStreamStatus | Unlike other composers, this one doesn't need merge sort |
| ►CComposer | Represents a logic to compose a new version of data pages for one storage |
| CComposeArguments | Arguments for compose() |
| CConstructRootArguments | Arguments for construct_root() |
| CDropResult | Retrun value of drop_volatiles() |
| CDropVolatilesArguments | Arguments for drop_volatiles() |
| CCreateLogType | Base type for CREATE STORAGE operation |
| CDropLogType | Log type of DROP STORAGE operation |
| CDualPagePointer | Represents a pointer to another page (usually a child page) |
| ►CMetadata | Metadata of one storage |
| CSnapshotThresholds | Tuning parameters related to snapshotting |
| CMetadataSerializer | |
| CPage | Just a marker to denote that the memory region represents a data page |
| CPageHeader | Just a marker to denote that a memory region represents a data page |
| CPageVersion | Just a synonym of XctId to be used as a page lock mechanism |
| CPageVersionStatus | |
| ►CPartitioner | Partitioning and sorting logic for one storage |
| CDesignPartitionArguments | Arguments for design_partition() |
| CPartitionBatchArguments | Arguments for partition_batch() |
| CSortBatchArguments | Arguments for sort_batch() |
| CPartitionerMetadata | Tiny metadata of partitioner for every storage used while log gleaning |
| CRecord | Represents one record in our key-value store |
| CStorage | Represents one key-value store |
| CStorageControlBlock | A base layout of shared data for all storage types |
| CStorageManager | Storage Manager class that provides API to create/open/close/drop key-value stores |
| CStorageManagerControlBlock | Shared data in StorageManagerPimpl |
| CStorageManagerPimpl | Pimpl object of StorageManager |
| CStorageOptions | Set of options for storage manager |
| CVolatilePageInitArguments | Set of arguments, both inputs and outputs, given to each volatile page initializer |
| CVolatilePagePointer | Represents a pointer to a volatile page with modification count for preventing ABA |
| ►Nthread | Thread and Thread-Group, which abstracts NUMA-core/node and provides API to attach/detach tasks to pooled threads |
| CConditionVariable | An analogue of pthread's condition variable and std::condition_variable to avoid glibc's bug in pthread_cond_broadcast/signal (thus in notify_all/one in turn) |
| CGrabFreeVolatilePagesScope | Obtains multiple free volatile pages at once and releases them automatically when this object gets out of scope |
| CImpersonateSession | A user session running on an impersonated thread |
| CNumaThreadScope | Pin the current thread to the given NUMA node in this object's scope |
| CRendezvous | The frequently appearing triplet of condition_varible, "signal" flag for spurious wakeup, and mutex for a one-time single-producer multiple-consumer event synchronization |
| CStoppableThread | The frequently appearing quartet of std::thread, condition_varible, stop-request flag, and mutex |
| CThread | Represents one thread running on one NUMA core |
| CThreadControlBlock | Shared data of ThreadPimpl |
| CThreadGroup | Represents a group of pre-allocated threads running in one NUMA node |
| CThreadGroupRef | A view of Thread group object for other SOCs and master engine |
| CThreadOptions | Set of options about threads and thread-groups |
| CThreadPimpl | Pimpl object of Thread |
| CThreadPimplCllReleaseAllFunctor | |
| CThreadPimplMcsAdaptor | Implements McsAdaptorConcept over ThreadPimpl |
| CThreadPool | The pool of pre-allocated threads in the engine to execute transactions |
| CThreadPoolPimpl | Pimpl object of ThreadPool |
| CThreadRef | A view of Thread object for other SOCs and master engine |
| ►Nxct | Transaction Manager, which provides APIs to begin/commit/abort transactions |
| CAcquireAsyncRet | Return value of acquire_async_rw |
| CCurrentLockList | Sorted list of all locks, either read-lock or write-lock, taken in the current run |
| CCurrentLockListIteratorForWriteSet | An iterator over CurrentLockList to find entries along with sorted write-set |
| CInCommitEpochGuard | Automatically sets in-commit-epoch with appropriate fence during pre-commit protocol |
| CLockableXctId | Transaction ID, a 128-bit data to manage record versions and provide locking mechanism |
| ►CLockEntry | An entry in CLL and RLL, representing a lock that is taken or will be taken |
| CLessThan | For std::binary_search() etc without creating the object |
| CLockFreeReadXctAccess | Represents a record of special read-access during a transaction without any need for locking |
| CLockFreeWriteXctAccess | Represents a record of special write-access during a transaction without any need for locking |
| CMcsAdaptorConcept | Defines an adapter template interface for our MCS lock classes |
| CMcsImpl | Implements an MCS-locking Algorithm |
| CMcsImpl< ADAPTOR, McsRwExtendedBlock > | The Extended MCS-RW lock |
| CMcsImpl< ADAPTOR, McsRwSimpleBlock > | The Simple MCS-RW lock |
| CMcsMockAdaptor | Implements McsAdaptorConcept |
| CMcsMockContext | Analogous to the entire engine |
| CMcsMockDataPage | A dummy page layout to store RwLockableXctId |
| CMcsMockNode | Analogous to one thread-group/socket/node |
| CMcsMockThread | A dummy implementation that provides McsAdaptorConcept for testing |
| CMcsOwnerlessLockScope | |
| CMcsRwAsyncMapping | |
| ►CMcsRwExtendedBlock | Pre-allocated MCS block for extended version of RW-locks |
| ►CField | |
| CComponents | |
| CMcsRwLock | An MCS reader-writer lock data structure |
| ►CMcsRwSimpleBlock | Reader-writer (RW) MCS lock classes |
| ►CSelf | |
| CComponents | |
| CMcsWwBlock | Pre-allocated MCS block for WW-locks |
| CMcsWwBlockData | Exclusive-only (WW) MCS lock classes |
| CMcsWwImpl | A specialized/simplified implementation of an MCS-locking Algorithm for exclusive-only (WW) locks |
| CMcsWwLock | An exclusive-only (WW) MCS lock data structure |
| CMcsWwOwnerlessImpl | A ownerless (contextless) interface for McsWwImpl |
| CPageComparator | |
| CPageVersionAccess | Represents a record of reading a page during a transaction |
| CPointerAccess | Represents a record of following a page pointer during a transaction |
| CReadXctAccess | Represents a record of read-access during a transaction |
| CRecordXctAccess | Base of ReadXctAccess and WriteXctAccess |
| CRetrospectiveLockList | Retrospective lock list |
| CRwLockableXctId | The MCS reader-writer lock variant of LockableXctId |
| CSysxctFunctor | A functor representing the logic in a system transaction via virtual-function |
| ►CSysxctLockEntry | An entry in CLL/RLL for system transactions |
| CLessThan | For std::binary_search() etc without creating the object |
| CSysxctLockList | RLL/CLL of a system transaction |
| CSysxctWorkspace | Per-thread reused work memory for system transactions |
| CTrackMovedRecordResult | Result of track_moved_record() |
| CWriteXctAccess | Represents a record of write-access during a transaction |
| CXct | Represents a user transaction |
| CXctId | Persistent status part of Transaction ID |
| CXctManager | Xct Manager class that provides API to begin/abort/commit transaction |
| CXctManagerControlBlock | Shared data in XctManagerPimpl |
| CXctManagerPimpl | Pimpl object of XctManager |
| CXctOptions | Set of options for xct manager |
| CAttachable | Attachable Resources on Shared Memory |
| CDefaultInitializable | Typical implementation of Initializable as a skeleton base class |
| CEngine | Database engine object that holds all resources and provides APIs |
| CEngineOptions | Set of option values given to the engine at start-up |
| ►CEnginePimpl | Pimpl object of Engine |
| CModulePtr | Pair of module pointer and its type |
| CEpoch | Represents a time epoch |
| CErrorStack | Brings error stacktrace information as return value of functions |
| CErrorStackBatch | Batches zero or more ErrorStack objects to represent in one ErrorStack |
| CFixedErrorStack | Representation of ErrorStack that can be copied to other processes and even serialized to files |
| CInitializable | The pure-virtual interface to initialize/uninitialize non-trivial resources |
| CUninitializeGuard | Calls Initializable::uninitialize() automatically when it gets out of scope |
| Cbitmask | |
| Cnodemask_t |