PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::detail::scratch_impl::Core Class Reference

#include <scratch_store_impl.hpp>

Data Structures

struct  BlobPos
 
class  BlobSource
 
struct  Entry
 
struct  HPath
 
struct  Path
 
struct  Slot
 
struct  Super
 

Public Types

using Status = ScratchStatus
 

Public Member Functions

 Core (const ScratchStoreConfig &c, ScratchBacking *b, std::size_t total) noexcept
 
void shutdown () noexcept
 
void note_backing_failure (Status status) noexcept
 
Status bread (std::uint64_t id, Byte *destination) noexcept
 
Status bwrite (std::uint64_t id, const Byte *source) noexcept
 
Status bsync (ScratchDurability durability) noexcept
 
Byte * page_at (std::int32_t s) noexcept
 
std::size_t bucket_of (std::uint64_t id) const noexcept
 
std::int32_t find (std::uint64_t id) noexcept
 
void unlink (std::int32_t s) noexcept
 
void link_in (std::int32_t s) noexcept
 
Status victim (std::int32_t &out) noexcept
 
Status fetch (std::uint64_t id, bool load, std::int32_t &out) noexcept
 
Status flush () noexcept
 
void invalidate_all () noexcept
 
Status rd (std::uint64_t id, std::size_t off, std::size_t len, Byte *destination) noexcept
 
Status touch (std::uint64_t id) noexcept
 
Status wr (std::uint64_t id, std::size_t off, std::size_t len, const Byte *source) noexcept
 
Status wr64 (std::uint64_t id, std::size_t off, std::uint64_t value) noexcept
 
Status wr32 (std::uint64_t id, std::size_t off, std::uint32_t value) noexcept
 
Status wr_page (std::uint64_t id, Byte *buffer) noexcept
 
Status alloc_page (std::uint64_t &id) noexcept
 
Status free_page (std::uint64_t id) noexcept
 
std::uint64_t cell_page (std::uint64_t cell) const noexcept
 
std::size_t cell_off (std::uint64_t cell) const noexcept
 
Status cell_alloc (std::uint64_t &cell) noexcept
 
Status read_source (const ScratchByteSource &source, std::uint64_t offset, Byte *destination, std::size_t length) noexcept
 
Status blob_create (const ScratchByteSource &source, std::uint64_t length, std::uint64_t &loc) noexcept
 
Status blob_read (std::uint64_t loc, std::uint64_t offset, std::size_t length, Byte *destination, BlobPos &pos) noexcept
 
Status blob_free (std::uint64_t loc) noexcept
 
std::uint64_t span_of (std::uint64_t level) const noexcept
 
Status hfind_leaf (std::uint64_t leaf_no, bool create, std::uint64_t &leaf, HPath &path) noexcept
 
Status hget (std::uint64_t handle, Entry &entry, bool &present) noexcept
 
Status hset (std::uint64_t handle, const Entry &entry) noexcept
 
Status compare_with (const ScratchByteSource &probe, std::uint64_t handle, int &order) noexcept
 
Status index_count (std::uint64_t page, std::uint32_t &count) noexcept
 
Status descend (const ScratchByteSource &probe, Path &path, bool &equal, std::uint32_t &pos, std::uint64_t &leaf) noexcept
 
Status leaf_entry (std::uint64_t leaf, std::uint32_t pos, std::uint64_t &handle) noexcept
 
Status leftmost_leaf (std::uint64_t &leaf) noexcept
 
Status new_root (std::uint64_t separator, std::uint64_t right) noexcept
 
Status insert_up (const Path &path, std::uint64_t separator, std::uint64_t right) noexcept
 
Status rd_full (std::uint64_t page, Byte *buffer) noexcept
 
Status tree_insert (const Path &path, std::uint64_t leaf, std::uint32_t pos, std::uint64_t handle) noexcept
 
Status release_separator (std::uint64_t handle) noexcept
 
Status remove_child (const Path &path) noexcept
 
Status tree_erase (const Path &path, std::uint64_t leaf, std::uint32_t pos, std::uint64_t handle) noexcept
 
void encode_super (const Super &s, Byte *buffer) const noexcept
 
bool decode_super (const Byte *buffer, Super &s, std::uint64_t &order_id) const noexcept
 
Status reopen_load () noexcept
 
Status begin () noexcept
 
Status commit_impl (ScratchDurability durability) noexcept
 
Status commit (ScratchDurability durability) noexcept
 
Status rollback_impl () noexcept
 
Status rollback () noexcept
 
Status put_impl (const ScratchByteSource &key, const ScratchByteSource &value, std::uint64_t &result) noexcept
 
Status put (const ScratchByteSource &key, const ScratchByteSource &value, ScratchHandle &result) noexcept
 
Status erase_impl (std::uint64_t handle, const Entry &entry) noexcept
 
Status erase (ScratchHandle handle) noexcept
 
bool readable () const noexcept
 
bool page_ok (const ScratchBuffer &page) const noexcept
 
Status live_entry (std::uint64_t handle, Entry &entry) noexcept
 
Status point (ScratchHandle handle, ScratchRecordInfo &info) noexcept
 
Status read (ScratchHandle handle, ScratchField field, std::uint64_t offset, ScratchBuffer destination) noexcept
 
Status visit (ScratchHandle handle, ScratchBuffer page, ScratchChunkVisitor visitor, void *context) noexcept
 
Status for_each (ScratchBuffer page, ScratchRecordVisitor visitor, void *context) noexcept
 
Status first (ScratchHandle &result) noexcept
 
Status next (ScratchHandle current, ScratchHandle &result) noexcept
 
Status lower_bound (const ScratchByteSource &probe, ScratchHandle &result) noexcept
 
Status fold_source (Fold &fold, std::uint64_t loc, std::uint64_t length, ScratchBuffer page) noexcept
 
Status digest (bool with_state, ScratchBuffer page, std::uint64_t &result) noexcept
 
ScratchStoreStats stats () const noexcept
 

Static Public Member Functions

static bool geometry_ok (const ScratchStoreConfig &c, const ScratchBacking *b) noexcept
 
static std::size_t round_up (std::size_t n, std::size_t a) noexcept
 
static std::size_t bucket_count (std::size_t slots) noexcept
 
static std::size_t required_bytes (const ScratchStoreConfig &c, const ScratchBacking *b) noexcept
 
static Status structural (Status status) noexcept
 
static std::uint64_t mul_sat (std::uint64_t a, std::uint64_t b) noexcept
 

Data Fields

Status open_status_ = Status::ok
 
ScratchBacking * backing_ = nullptr
 
std::optional< ReportScratchIoError > carried_failure_
 
ScratchKeyOrder order_ {}
 
std::size_t total_ = 0
 
std::size_t page_ = 0
 
std::size_t usable_ = 0
 
std::size_t slots_ = 0
 
std::size_t nbuckets_ = 0
 
std::size_t leaf_cap_ = 0
 
std::size_t node_cap_ = 0
 
std::size_t hleaf_cap_ = 0
 
std::size_t hnode_cap_ = 0
 
std::size_t cells_per_page_ = 0
 
std::size_t blob_payload_ = 0
 
std::size_t cell_max_ = 0
 
Slot * slot_ = nullptr
 
std::int32_t * bucket_ = nullptr
 
Byte * cache_ = nullptr
 
Byte * w0_ = nullptr
 
Byte * w1_ = nullptr
 
Byte * w2_ = nullptr
 
Byte * w3_ = nullptr
 
Byte * jbuf_ = nullptr
 
Byte * sbuf_ = nullptr
 
std::uint64_t tick_ = 0
 
std::uint64_t reads_ = 0
 
std::uint64_t writes_ = 0
 
std::uint64_t syncs_ = 0
 
Super cur_ {}
 
Super snap_ {}
 
bool active_ = false
 
bool poisoned_ = false
 
std::uint64_t txn_ = 0
 
std::uint64_t hw0_ = 0
 
std::uint64_t used_head_ = 0
 
std::uint64_t used_tail_ = 0
 
std::uint64_t used_count_ = 0
 
std::uint64_t tainted_slot_ = kNoSlot
 
std::uint32_t busy_ = 0
 

Detailed Description

Definition at line 82 of file scratch_store_impl.hpp.

Member Typedef Documentation

◆ Status

Constructor & Destructor Documentation

◆ Core()

Member Function Documentation

◆ geometry_ok()

static bool pineforge::detail::scratch_impl::Core::geometry_ok ( const ScratchStoreConfig & c,
const ScratchBacking * b )
inlinestaticnoexcept

◆ round_up()

static std::size_t pineforge::detail::scratch_impl::Core::round_up ( std::size_t n,
std::size_t a )
inlinestaticnoexcept

Definition at line 157 of file scratch_store_impl.hpp.

Referenced by Core(), and required_bytes().

◆ bucket_count()

static std::size_t pineforge::detail::scratch_impl::Core::bucket_count ( std::size_t slots)
inlinestaticnoexcept

Definition at line 158 of file scratch_store_impl.hpp.

Referenced by Core(), and required_bytes().

◆ required_bytes()

static std::size_t pineforge::detail::scratch_impl::Core::required_bytes ( const ScratchStoreConfig & c,
const ScratchBacking * b )
inlinestaticnoexcept

◆ shutdown()

void pineforge::detail::scratch_impl::Core::shutdown ( )
inlinenoexcept

◆ note_backing_failure()

void pineforge::detail::scratch_impl::Core::note_backing_failure ( Status status)
inlinenoexcept

Definition at line 228 of file scratch_store_impl.hpp.

References backing_, and carried_failure_.

Referenced by bread(), bsync(), and bwrite().

◆ bread()

Status pineforge::detail::scratch_impl::Core::bread ( std::uint64_t id,
Byte * destination )
inlinenoexcept

Definition at line 237 of file scratch_store_impl.hpp.

References backing_, note_backing_failure(), page_, and reads_.

Referenced by commit_impl(), fetch(), reopen_load(), rollback_impl(), and touch().

◆ bwrite()

Status pineforge::detail::scratch_impl::Core::bwrite ( std::uint64_t id,
const Byte * source )
inlinenoexcept

Definition at line 243 of file scratch_store_impl.hpp.

References backing_, note_backing_failure(), page_, and writes_.

Referenced by commit_impl(), flush(), rollback_impl(), touch(), and victim().

◆ bsync()

Status pineforge::detail::scratch_impl::Core::bsync ( ScratchDurability durability)
inlinenoexcept

Definition at line 249 of file scratch_store_impl.hpp.

References backing_, note_backing_failure(), and syncs_.

Referenced by commit_impl().

◆ structural()

static Status pineforge::detail::scratch_impl::Core::structural ( Status status)
inlinestaticnoexcept

Definition at line 255 of file scratch_store_impl.hpp.

Referenced by commit_impl(), digest(), fetch(), for_each(), rollback_impl(), and touch().

◆ page_at()

Byte * pineforge::detail::scratch_impl::Core::page_at ( std::int32_t s)
inlinenoexcept

Definition at line 261 of file scratch_store_impl.hpp.

References cache_, and page_.

Referenced by fetch(), flush(), rd(), touch(), victim(), wr(), and wr_page().

◆ bucket_of()

std::size_t pineforge::detail::scratch_impl::Core::bucket_of ( std::uint64_t id) const
inlinenoexcept

Definition at line 262 of file scratch_store_impl.hpp.

References nbuckets_.

Referenced by find(), link_in(), and unlink().

◆ find()

std::int32_t pineforge::detail::scratch_impl::Core::find ( std::uint64_t id)
inlinenoexcept

Definition at line 265 of file scratch_store_impl.hpp.

References bucket_, bucket_of(), and slot_.

Referenced by fetch().

◆ unlink()

void pineforge::detail::scratch_impl::Core::unlink ( std::int32_t s)
inlinenoexcept

Definition at line 273 of file scratch_store_impl.hpp.

References bucket_, bucket_of(), and slot_.

Referenced by victim().

◆ link_in()

void pineforge::detail::scratch_impl::Core::link_in ( std::int32_t s)
inlinenoexcept

Definition at line 283 of file scratch_store_impl.hpp.

References bucket_, bucket_of(), and slot_.

Referenced by fetch().

◆ victim()

Status pineforge::detail::scratch_impl::Core::victim ( std::int32_t & out)
inlinenoexcept

Definition at line 290 of file scratch_store_impl.hpp.

References bwrite(), page_at(), slot_, slots_, and unlink().

Referenced by fetch().

◆ fetch()

Status pineforge::detail::scratch_impl::Core::fetch ( std::uint64_t id,
bool load,
std::int32_t & out )
inlinenoexcept

Definition at line 312 of file scratch_store_impl.hpp.

References bread(), find(), link_in(), page_at(), slot_, structural(), tick_, and victim().

Referenced by rd(), touch(), wr(), and wr_page().

◆ flush()

Status pineforge::detail::scratch_impl::Core::flush ( )
inlinenoexcept

Definition at line 334 of file scratch_store_impl.hpp.

References bwrite(), page_at(), slot_, and slots_.

Referenced by commit_impl().

◆ invalidate_all()

void pineforge::detail::scratch_impl::Core::invalidate_all ( )
inlinenoexcept

Definition at line 344 of file scratch_store_impl.hpp.

References bucket_, nbuckets_, slot_, and slots_.

Referenced by rollback_impl().

◆ rd()

Status pineforge::detail::scratch_impl::Core::rd ( std::uint64_t id,
std::size_t off,
std::size_t len,
Byte * destination )
inlinenoexcept

◆ touch()

Status pineforge::detail::scratch_impl::Core::touch ( std::uint64_t id)
inlinenoexcept

◆ wr()

Status pineforge::detail::scratch_impl::Core::wr ( std::uint64_t id,
std::size_t off,
std::size_t len,
const Byte * source )
inlinenoexcept

Definition at line 397 of file scratch_store_impl.hpp.

References fetch(), page_at(), slot_, and touch().

Referenced by blob_create(), hset(), wr32(), and wr64().

◆ wr64()

Status pineforge::detail::scratch_impl::Core::wr64 ( std::uint64_t id,
std::size_t off,
std::uint64_t value )
inlinenoexcept

◆ wr32()

Status pineforge::detail::scratch_impl::Core::wr32 ( std::uint64_t id,
std::size_t off,
std::uint32_t value )
inlinenoexcept

◆ wr_page()

Status pineforge::detail::scratch_impl::Core::wr_page ( std::uint64_t id,
Byte * buffer )
inlinenoexcept

◆ alloc_page()

Status pineforge::detail::scratch_impl::Core::alloc_page ( std::uint64_t & id)
inlinenoexcept

◆ free_page()

Status pineforge::detail::scratch_impl::Core::free_page ( std::uint64_t id)
inlinenoexcept

◆ cell_page()

std::uint64_t pineforge::detail::scratch_impl::Core::cell_page ( std::uint64_t cell) const
inlinenoexcept

Definition at line 456 of file scratch_store_impl.hpp.

Referenced by blob_create(), blob_free(), blob_read(), and cell_alloc().

◆ cell_off()

std::size_t pineforge::detail::scratch_impl::Core::cell_off ( std::uint64_t cell) const
inlinenoexcept

◆ cell_alloc()

Status pineforge::detail::scratch_impl::Core::cell_alloc ( std::uint64_t & cell)
inlinenoexcept

◆ read_source()

Status pineforge::detail::scratch_impl::Core::read_source ( const ScratchByteSource & source,
std::uint64_t offset,
Byte * destination,
std::size_t length )
inlinenoexcept

Definition at line 485 of file scratch_store_impl.hpp.

References busy_.

Referenced by blob_create().

◆ blob_create()

◆ blob_read()

Status pineforge::detail::scratch_impl::Core::blob_read ( std::uint64_t loc,
std::uint64_t offset,
std::size_t length,
Byte * destination,
BlobPos & pos )
inlinenoexcept

◆ blob_free()

Status pineforge::detail::scratch_impl::Core::blob_free ( std::uint64_t loc)
inlinenoexcept

◆ mul_sat()

static std::uint64_t pineforge::detail::scratch_impl::Core::mul_sat ( std::uint64_t a,
std::uint64_t b )
inlinestaticnoexcept

Definition at line 618 of file scratch_store_impl.hpp.

Referenced by span_of().

◆ span_of()

std::uint64_t pineforge::detail::scratch_impl::Core::span_of ( std::uint64_t level) const
inlinenoexcept

Definition at line 623 of file scratch_store_impl.hpp.

References hnode_cap_, and mul_sat().

Referenced by hfind_leaf().

◆ hfind_leaf()

◆ hget()

Status pineforge::detail::scratch_impl::Core::hget ( std::uint64_t handle,
Entry & entry,
bool & present )
inlinenoexcept

◆ hset()

◆ compare_with()

Status pineforge::detail::scratch_impl::Core::compare_with ( const ScratchByteSource & probe,
std::uint64_t handle,
int & order )
inlinenoexcept

◆ index_count()

Status pineforge::detail::scratch_impl::Core::index_count ( std::uint64_t page,
std::uint32_t & count )
inlinenoexcept

◆ descend()

Status pineforge::detail::scratch_impl::Core::descend ( const ScratchByteSource & probe,
Path & path,
bool & equal,
std::uint32_t & pos,
std::uint64_t & leaf )
inlinenoexcept

◆ leaf_entry()

Status pineforge::detail::scratch_impl::Core::leaf_entry ( std::uint64_t leaf,
std::uint32_t pos,
std::uint64_t & handle )
inlinenoexcept

◆ leftmost_leaf()

Status pineforge::detail::scratch_impl::Core::leftmost_leaf ( std::uint64_t & leaf)
inlinenoexcept

Definition at line 869 of file scratch_store_impl.hpp.

References cur_, pineforge::detail::scratch_impl::ld64(), and rd().

Referenced by digest(), first(), and for_each().

◆ new_root()

Status pineforge::detail::scratch_impl::Core::new_root ( std::uint64_t separator,
std::uint64_t right )
inlinenoexcept

◆ insert_up()

Status pineforge::detail::scratch_impl::Core::insert_up ( const Path & path,
std::uint64_t separator,
std::uint64_t right )
inlinenoexcept

◆ rd_full()

Status pineforge::detail::scratch_impl::Core::rd_full ( std::uint64_t page,
Byte * buffer )
inlinenoexcept

Definition at line 959 of file scratch_store_impl.hpp.

References rd(), and usable_.

Referenced by insert_up(), remove_child(), tree_erase(), and tree_insert().

◆ tree_insert()

Status pineforge::detail::scratch_impl::Core::tree_insert ( const Path & path,
std::uint64_t leaf,
std::uint32_t pos,
std::uint64_t handle )
inlinenoexcept

◆ release_separator()

Status pineforge::detail::scratch_impl::Core::release_separator ( std::uint64_t handle)
inlinenoexcept

◆ remove_child()

◆ tree_erase()

Status pineforge::detail::scratch_impl::Core::tree_erase ( const Path & path,
std::uint64_t leaf,
std::uint32_t pos,
std::uint64_t handle )
inlinenoexcept

◆ encode_super()

◆ decode_super()

bool pineforge::detail::scratch_impl::Core::decode_super ( const Byte * buffer,
Super & s,
std::uint64_t & order_id ) const
inlinenoexcept

◆ reopen_load()

Status pineforge::detail::scratch_impl::Core::reopen_load ( )
inlinenoexcept

◆ begin()

Status pineforge::detail::scratch_impl::Core::begin ( )
inlinenoexcept

◆ commit_impl()

◆ commit()

Status pineforge::detail::scratch_impl::Core::commit ( ScratchDurability durability)
inlinenoexcept

◆ rollback_impl()

◆ rollback()

Status pineforge::detail::scratch_impl::Core::rollback ( )
inlinenoexcept

Definition at line 1290 of file scratch_store_impl.hpp.

References active_, busy_, open_status_, poisoned_, and rollback_impl().

◆ put_impl()

◆ put()

Status pineforge::detail::scratch_impl::Core::put ( const ScratchByteSource & key,
const ScratchByteSource & value,
ScratchHandle & result )
inlinenoexcept

◆ erase_impl()

◆ erase()

Status pineforge::detail::scratch_impl::Core::erase ( ScratchHandle handle)
inlinenoexcept

◆ readable()

bool pineforge::detail::scratch_impl::Core::readable ( ) const
inlinenoexcept

Definition at line 1427 of file scratch_store_impl.hpp.

References open_status_, and poisoned_.

Referenced by digest(), first(), for_each(), lower_bound(), next(), point(), read(), and visit().

◆ page_ok()

bool pineforge::detail::scratch_impl::Core::page_ok ( const ScratchBuffer & page) const
inlinenoexcept

Definition at line 1428 of file scratch_store_impl.hpp.

References page_.

Referenced by digest(), for_each(), and visit().

◆ live_entry()

Status pineforge::detail::scratch_impl::Core::live_entry ( std::uint64_t handle,
Entry & entry )
inlinenoexcept

Definition at line 1430 of file scratch_store_impl.hpp.

References hget(), and pineforge::detail::scratch_impl::kLive.

Referenced by digest(), for_each(), next(), point(), read(), and visit().

◆ point()

Status pineforge::detail::scratch_impl::Core::point ( ScratchHandle handle,
ScratchRecordInfo & info )
inlinenoexcept

◆ read()

◆ visit()

◆ for_each()

◆ first()

Status pineforge::detail::scratch_impl::Core::first ( ScratchHandle & result)
inlinenoexcept

◆ next()

◆ lower_bound()

Status pineforge::detail::scratch_impl::Core::lower_bound ( const ScratchByteSource & probe,
ScratchHandle & result )
inlinenoexcept

◆ fold_source()

Status pineforge::detail::scratch_impl::Core::fold_source ( Fold & fold,
std::uint64_t loc,
std::uint64_t length,
ScratchBuffer page )
inlinenoexcept

Definition at line 1633 of file scratch_store_impl.hpp.

References blob_read(), and page_.

Referenced by digest().

◆ digest()

◆ stats()

Field Documentation

◆ open_status_

Status pineforge::detail::scratch_impl::Core::open_status_ = Status::ok

Definition at line 1700 of file scratch_store_impl.hpp.

Referenced by begin(), commit(), Core(), erase(), put(), readable(), rollback(), shutdown(), and stats().

◆ backing_

ScratchBacking* pineforge::detail::scratch_impl::Core::backing_ = nullptr

◆ carried_failure_

std::optional<ReportScratchIoError> pineforge::detail::scratch_impl::Core::carried_failure_

Definition at line 1702 of file scratch_store_impl.hpp.

Referenced by begin(), and note_backing_failure().

◆ order_

ScratchKeyOrder pineforge::detail::scratch_impl::Core::order_ {}

Definition at line 1703 of file scratch_store_impl.hpp.

Referenced by compare_with(), Core(), digest(), encode_super(), and reopen_load().

◆ total_

std::size_t pineforge::detail::scratch_impl::Core::total_ = 0

Definition at line 1704 of file scratch_store_impl.hpp.

Referenced by stats().

◆ page_

std::size_t pineforge::detail::scratch_impl::Core::page_ = 0

◆ usable_

std::size_t pineforge::detail::scratch_impl::Core::usable_ = 0

Definition at line 1706 of file scratch_store_impl.hpp.

Referenced by commit_impl(), Core(), rd_full(), rollback_impl(), touch(), and wr_page().

◆ slots_

std::size_t pineforge::detail::scratch_impl::Core::slots_ = 0

Definition at line 1707 of file scratch_store_impl.hpp.

Referenced by Core(), flush(), invalidate_all(), and victim().

◆ nbuckets_

std::size_t pineforge::detail::scratch_impl::Core::nbuckets_ = 0

Definition at line 1708 of file scratch_store_impl.hpp.

Referenced by bucket_of(), Core(), and invalidate_all().

◆ leaf_cap_

std::size_t pineforge::detail::scratch_impl::Core::leaf_cap_ = 0

Definition at line 1709 of file scratch_store_impl.hpp.

Referenced by Core(), and tree_insert().

◆ node_cap_

std::size_t pineforge::detail::scratch_impl::Core::node_cap_ = 0

Definition at line 1710 of file scratch_store_impl.hpp.

Referenced by Core(), and insert_up().

◆ hleaf_cap_

std::size_t pineforge::detail::scratch_impl::Core::hleaf_cap_ = 0

Definition at line 1711 of file scratch_store_impl.hpp.

Referenced by Core(), hget(), and hset().

◆ hnode_cap_

std::size_t pineforge::detail::scratch_impl::Core::hnode_cap_ = 0

Definition at line 1712 of file scratch_store_impl.hpp.

Referenced by Core(), and span_of().

◆ cells_per_page_

std::size_t pineforge::detail::scratch_impl::Core::cells_per_page_ = 0

Definition at line 1713 of file scratch_store_impl.hpp.

Referenced by cell_alloc(), and Core().

◆ blob_payload_

std::size_t pineforge::detail::scratch_impl::Core::blob_payload_ = 0

Definition at line 1714 of file scratch_store_impl.hpp.

Referenced by blob_create(), blob_read(), and Core().

◆ cell_max_

std::size_t pineforge::detail::scratch_impl::Core::cell_max_ = 0

Definition at line 1715 of file scratch_store_impl.hpp.

Referenced by blob_create(), and Core().

◆ slot_

Slot* pineforge::detail::scratch_impl::Core::slot_ = nullptr

◆ bucket_

std::int32_t* pineforge::detail::scratch_impl::Core::bucket_ = nullptr

Definition at line 1717 of file scratch_store_impl.hpp.

Referenced by Core(), find(), invalidate_all(), link_in(), and unlink().

◆ cache_

Byte* pineforge::detail::scratch_impl::Core::cache_ = nullptr

Definition at line 1718 of file scratch_store_impl.hpp.

Referenced by Core(), and page_at().

◆ w0_

Byte* pineforge::detail::scratch_impl::Core::w0_ = nullptr

Definition at line 1719 of file scratch_store_impl.hpp.

Referenced by Core(), insert_up(), remove_child(), tree_erase(), and tree_insert().

◆ w1_

Byte* pineforge::detail::scratch_impl::Core::w1_ = nullptr

Definition at line 1720 of file scratch_store_impl.hpp.

Referenced by Core(), insert_up(), and tree_insert().

◆ w2_

Byte* pineforge::detail::scratch_impl::Core::w2_ = nullptr

Definition at line 1721 of file scratch_store_impl.hpp.

Referenced by Core(), insert_up(), and tree_insert().

◆ w3_

Byte* pineforge::detail::scratch_impl::Core::w3_ = nullptr

◆ jbuf_

Byte* pineforge::detail::scratch_impl::Core::jbuf_ = nullptr

Definition at line 1723 of file scratch_store_impl.hpp.

Referenced by Core(), rollback_impl(), and touch().

◆ sbuf_

Byte* pineforge::detail::scratch_impl::Core::sbuf_ = nullptr

Definition at line 1724 of file scratch_store_impl.hpp.

Referenced by commit_impl(), Core(), reopen_load(), and touch().

◆ tick_

std::uint64_t pineforge::detail::scratch_impl::Core::tick_ = 0

Definition at line 1725 of file scratch_store_impl.hpp.

Referenced by fetch().

◆ reads_

std::uint64_t pineforge::detail::scratch_impl::Core::reads_ = 0

Definition at line 1726 of file scratch_store_impl.hpp.

Referenced by bread(), and stats().

◆ writes_

std::uint64_t pineforge::detail::scratch_impl::Core::writes_ = 0

Definition at line 1727 of file scratch_store_impl.hpp.

Referenced by bwrite(), and stats().

◆ syncs_

std::uint64_t pineforge::detail::scratch_impl::Core::syncs_ = 0

Definition at line 1728 of file scratch_store_impl.hpp.

Referenced by bsync(), and stats().

◆ cur_

◆ snap_

Super pineforge::detail::scratch_impl::Core::snap_ {}

Definition at line 1730 of file scratch_store_impl.hpp.

Referenced by begin(), and rollback_impl().

◆ active_

bool pineforge::detail::scratch_impl::Core::active_ = false

◆ poisoned_

bool pineforge::detail::scratch_impl::Core::poisoned_ = false

Definition at line 1732 of file scratch_store_impl.hpp.

Referenced by begin(), commit(), erase(), put(), readable(), rollback(), and rollback_impl().

◆ txn_

std::uint64_t pineforge::detail::scratch_impl::Core::txn_ = 0

Definition at line 1733 of file scratch_store_impl.hpp.

Referenced by begin(), touch(), and wr_page().

◆ hw0_

std::uint64_t pineforge::detail::scratch_impl::Core::hw0_ = 0

Definition at line 1734 of file scratch_store_impl.hpp.

Referenced by begin(), rollback_impl(), and touch().

◆ used_head_

std::uint64_t pineforge::detail::scratch_impl::Core::used_head_ = 0

Definition at line 1735 of file scratch_store_impl.hpp.

Referenced by begin(), commit_impl(), rollback_impl(), and touch().

◆ used_tail_

std::uint64_t pineforge::detail::scratch_impl::Core::used_tail_ = 0

Definition at line 1736 of file scratch_store_impl.hpp.

Referenced by begin(), commit_impl(), rollback_impl(), and touch().

◆ used_count_

std::uint64_t pineforge::detail::scratch_impl::Core::used_count_ = 0

Definition at line 1737 of file scratch_store_impl.hpp.

Referenced by begin(), commit_impl(), rollback_impl(), and touch().

◆ tainted_slot_

std::uint64_t pineforge::detail::scratch_impl::Core::tainted_slot_ = kNoSlot

Definition at line 1738 of file scratch_store_impl.hpp.

Referenced by commit_impl(), and rollback_impl().

◆ busy_

std::uint32_t pineforge::detail::scratch_impl::Core::busy_ = 0

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