Ipc::StoreMapAnchor Class Reference

#include <StoreMap.h>

Collaboration diagram for Ipc::StoreMapAnchor:

Classes

struct  Basics
 

Public Member Functions

 StoreMapAnchor ()
 
void set (const StoreEntry &anEntry)
 store StoreEntry key and basics for an inode slot More...
 
void setKey (const cache_key *const aKey)
 
bool sameKey (const cache_key *const aKey) const
 
void rewind ()
 undo the effects of set(), setKey(), etc., but keep locks and state More...
 
bool empty () const
 
bool reading () const
 
bool writing () const
 
bool complete () const
 

Public Attributes

ReadWriteLock lock
 protects slot data below More...
 
std::atomic< uint8_t > waitingToBeFreed
 may be accessed w/o a lock More...
 
uint64_t key [2]
 StoreEntry key. More...
 
struct Ipc::StoreMapAnchor::Basics basics
 
std::atomic< StoreMapSliceIdstart
 where the chain of StoreEntry slices begins [app] More...
 
std::atomic< StoreMapSliceIdsplicingPoint
 

Detailed Description

Maintains shareable information about a StoreEntry as a whole. An anchor points to one or more StoreEntry slices. This is the only lockable part of shared StoreEntry information, providing protection for all StoreEntry slices.

Definition at line 53 of file StoreMap.h.

Constructor & Destructor Documentation

Ipc::StoreMapAnchor::StoreMapAnchor ( )

Definition at line 726 of file StoreMap.cc.

References basics, and key.

Member Function Documentation

bool Ipc::StoreMapAnchor::complete ( ) const
inline
bool Ipc::StoreMapAnchor::empty ( ) const
inline
bool Ipc::StoreMapAnchor::reading ( ) const
inline
void Ipc::StoreMapAnchor::rewind ( )

Definition at line 761 of file StoreMap.cc.

References assert, and key.

Referenced by Ipc::StoreMap::forgetWritingEntry(), and Ipc::StoreMap::freeChain().

bool Ipc::StoreMapAnchor::sameKey ( const cache_key *const  aKey) const

Definition at line 740 of file StoreMap.cc.

References key.

Referenced by Ipc::StoreMap::freeEntryByKey(), Rock::SwapDir::openStoreIO(), and Rock::Rebuild::sameEntry().

void Ipc::StoreMapAnchor::setKey ( const cache_key *const  aKey)

Definition at line 734 of file StoreMap.cc.

References key.

Referenced by Rock::Rebuild::primeNewEntry().

Member Data Documentation

uint64_t Ipc::StoreMapAnchor::key[2]

Definition at line 81 of file StoreMap.h.

Referenced by empty(), and StoreMapAnchor().

std::atomic<StoreMapSliceId> Ipc::StoreMapAnchor::splicingPoint

where the updated chain prefix containing metadata/headers ends [update] if unset, this anchor points to a chain that was never updated

Definition at line 99 of file StoreMap.h.

Referenced by Ipc::StoreMap::closeForUpdating(), Ipc::StoreMap::freeChain(), and Ipc::StoreMap::openForWritingAt().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors