|
PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI 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 |
Definition at line 82 of file scratch_store_impl.hpp.
Definition at line 84 of file scratch_store_impl.hpp.
|
inlinenoexcept |
Definition at line 172 of file scratch_store_impl.hpp.
References backing_, blob_payload_, bucket_, bucket_count(), cache_, cell_max_, cells_per_page_, Core(), pineforge::detail::create_empty, geometry_ok(), hleaf_cap_, hnode_cap_, jbuf_, pineforge::detail::scratch_impl::kCell, pineforge::detail::scratch_impl::kTrailer, leaf_cap_, nbuckets_, next(), node_cap_, open_status_, order_, page_, pineforge::detail::reopen, reopen_load(), round_up(), sbuf_, slot_, slots_, usable_, w0_, w1_, w2_, and w3_.
Referenced by pineforge::detail::scratch_impl::Core::BlobSource::BlobSource(), Core(), and required_bytes().
|
inlinestaticnoexcept |
Definition at line 151 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_min_page_count, and pineforge::detail::scratch_min_page_size.
Referenced by Core(), and required_bytes().
|
inlinestaticnoexcept |
Definition at line 157 of file scratch_store_impl.hpp.
Referenced by Core(), and required_bytes().
|
inlinestaticnoexcept |
Definition at line 158 of file scratch_store_impl.hpp.
Referenced by Core(), and required_bytes().
|
inlinestaticnoexcept |
Definition at line 163 of file scratch_store_impl.hpp.
References bucket_count(), Core(), geometry_ok(), pineforge::detail::scratch_impl::kWorkPages, and round_up().
Referenced by pineforge::detail::CommandScratchStore::CommandScratchStore().
|
inlinenoexcept |
Definition at line 222 of file scratch_store_impl.hpp.
References active_, open_status_, and rollback_impl().
Referenced by pineforge::detail::CommandScratchStore::~CommandScratchStore().
|
inlinenoexcept |
Definition at line 228 of file scratch_store_impl.hpp.
References backing_, and carried_failure_.
|
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().
|
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().
|
inlinenoexcept |
Definition at line 249 of file scratch_store_impl.hpp.
References backing_, note_backing_failure(), and syncs_.
Referenced by commit_impl().
|
inlinestaticnoexcept |
Definition at line 255 of file scratch_store_impl.hpp.
Referenced by commit_impl(), digest(), fetch(), for_each(), rollback_impl(), and touch().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 265 of file scratch_store_impl.hpp.
References bucket_, bucket_of(), and slot_.
Referenced by fetch().
|
inlinenoexcept |
Definition at line 273 of file scratch_store_impl.hpp.
References bucket_, bucket_of(), and slot_.
Referenced by victim().
|
inlinenoexcept |
Definition at line 283 of file scratch_store_impl.hpp.
References bucket_, bucket_of(), and slot_.
Referenced by fetch().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 334 of file scratch_store_impl.hpp.
References bwrite(), page_at(), slot_, and slots_.
Referenced by commit_impl().
|
inlinenoexcept |
Definition at line 344 of file scratch_store_impl.hpp.
References bucket_, nbuckets_, slot_, and slots_.
Referenced by rollback_impl().
|
inlinenoexcept |
Definition at line 353 of file scratch_store_impl.hpp.
References fetch(), and page_at().
Referenced by alloc_page(), blob_free(), blob_read(), cell_alloc(), descend(), digest(), erase_impl(), for_each(), hfind_leaf(), hget(), hset(), index_count(), leaf_entry(), leftmost_leaf(), lower_bound(), next(), rd_full(), and remove_child().
|
inlinenoexcept |
Definition at line 364 of file scratch_store_impl.hpp.
References active_, bread(), bwrite(), cur_, fetch(), hw0_, jbuf_, pineforge::detail::scratch_impl::ld64(), page_at(), sbuf_, slot_, pineforge::detail::scratch_impl::st64(), structural(), txn_, usable_, used_count_, used_head_, and used_tail_.
|
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().
|
inlinenoexcept |
Definition at line 407 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::st64(), pineforge::detail::value, and wr().
Referenced by blob_free(), free_page(), hfind_leaf(), hset(), tree_erase(), and tree_insert().
|
inlinenoexcept |
Definition at line 412 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::st32(), pineforge::detail::value, and wr().
Referenced by free_page(), hfind_leaf(), and hset().
|
inlinenoexcept |
Definition at line 418 of file scratch_store_impl.hpp.
References fetch(), pineforge::detail::scratch_impl::kTrailer, page_, page_at(), slot_, pineforge::detail::scratch_impl::st64(), touch(), txn_, and usable_.
Referenced by blob_create(), cell_alloc(), hfind_leaf(), insert_up(), new_root(), remove_child(), tree_erase(), and tree_insert().
|
inlinenoexcept |
Definition at line 433 of file scratch_store_impl.hpp.
References cur_, pineforge::detail::scratch_impl::ld64(), and rd().
Referenced by blob_create(), cell_alloc(), hfind_leaf(), insert_up(), new_root(), and tree_insert().
|
inlinenoexcept |
Definition at line 445 of file scratch_store_impl.hpp.
References cur_, pineforge::detail::scratch_impl::kTypeFree, wr32(), and wr64().
Referenced by blob_free(), hset(), remove_child(), and tree_erase().
|
inlinenoexcept |
Definition at line 456 of file scratch_store_impl.hpp.
Referenced by blob_create(), blob_free(), blob_read(), and cell_alloc().
|
inlinenoexcept |
Definition at line 457 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::kCell, and pineforge::detail::scratch_impl::kHeader.
Referenced by blob_create(), blob_free(), blob_read(), and cell_alloc().
|
inlinenoexcept |
Definition at line 460 of file scratch_store_impl.hpp.
References alloc_page(), cell_off(), cell_page(), cells_per_page_, cur_, pineforge::detail::scratch_impl::kTypeCells, pineforge::detail::scratch_impl::ld64(), page_, rd(), pineforge::detail::scratch_impl::st32(), w3_, and wr_page().
Referenced by blob_create().
|
inlinenoexcept |
Definition at line 485 of file scratch_store_impl.hpp.
References busy_.
Referenced by blob_create().
|
inlinenoexcept |
Definition at line 493 of file scratch_store_impl.hpp.
References alloc_page(), blob_payload_, cell_alloc(), cell_max_, cell_off(), cell_page(), pineforge::detail::scratch_impl::kCell, pineforge::detail::scratch_impl::kCellPayload, pineforge::detail::scratch_impl::kTypeBlob, next(), page_, read_source(), pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w3_, wr(), and wr_page().
Referenced by put_impl().
|
inlinenoexcept |
Definition at line 548 of file scratch_store_impl.hpp.
References blob_payload_, cell_off(), cell_page(), pineforge::detail::scratch_impl::kCellPayload, pineforge::detail::scratch_impl::ld64(), and rd().
Referenced by fold_source(), and visit().
|
inlinenoexcept |
Definition at line 588 of file scratch_store_impl.hpp.
References cell_off(), cell_page(), cur_, free_page(), pineforge::detail::scratch_impl::ld64(), next(), rd(), and wr64().
Referenced by erase_impl(), put_impl(), and release_separator().
|
inlinestaticnoexcept |
Definition at line 618 of file scratch_store_impl.hpp.
Referenced by span_of().
|
inlinenoexcept |
Definition at line 623 of file scratch_store_impl.hpp.
References hnode_cap_, and mul_sat().
Referenced by hfind_leaf().
|
inlinenoexcept |
Definition at line 638 of file scratch_store_impl.hpp.
References alloc_page(), cur_, pineforge::detail::scratch_impl::kMaxHeight, pineforge::detail::scratch_impl::kTypeHandleLeaf, pineforge::detail::scratch_impl::kTypeHandleNode, pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), page_, rd(), span_of(), pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w3_, wr32(), wr64(), and wr_page().
|
inlinenoexcept |
Definition at line 704 of file scratch_store_impl.hpp.
References cur_, hfind_leaf(), hleaf_cap_, pineforge::detail::scratch_impl::kHeader, pineforge::detail::scratch_impl::ld64(), and rd().
Referenced by compare_with(), erase(), live_entry(), put_impl(), and release_separator().
|
inlinenoexcept |
Definition at line 723 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::Core::HPath::depth, free_page(), hfind_leaf(), hleaf_cap_, pineforge::detail::scratch_impl::kHeader, pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), pineforge::detail::scratch_impl::Core::HPath::node, rd(), pineforge::detail::scratch_impl::Core::HPath::slot, pineforge::detail::scratch_impl::st64(), wr(), wr32(), and wr64().
Referenced by erase_impl(), put_impl(), and release_separator().
|
inlinenoexcept |
Definition at line 773 of file scratch_store_impl.hpp.
References busy_, hget(), pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, and order_.
Referenced by descend().
|
inlinenoexcept |
Definition at line 788 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::ld32(), and rd().
Referenced by descend(), digest(), for_each(), lower_bound(), next(), and remove_child().
|
inlinenoexcept |
Definition at line 798 of file scratch_store_impl.hpp.
References compare_with(), cur_, index_count(), pineforge::detail::scratch_impl::kMaxDepth, pineforge::detail::scratch_impl::ld64(), and rd().
Referenced by erase_impl(), lower_bound(), next(), and put_impl().
|
inlinenoexcept |
Definition at line 861 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::ld64(), and rd().
Referenced by digest(), erase_impl(), first(), for_each(), lower_bound(), next(), and put_impl().
|
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().
|
inlinenoexcept |
Definition at line 884 of file scratch_store_impl.hpp.
References alloc_page(), cur_, pineforge::detail::scratch_impl::kTypeIndexNode, page_, pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w3_, and wr_page().
Referenced by insert_up().
|
inlinenoexcept |
Definition at line 902 of file scratch_store_impl.hpp.
References alloc_page(), pineforge::detail::scratch_impl::kTypeIndexNode, pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), new_root(), node_cap_, page_, rd_full(), pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w0_, w1_, w2_, and wr_page().
Referenced by tree_insert().
|
inlinenoexcept |
Definition at line 959 of file scratch_store_impl.hpp.
Referenced by insert_up(), remove_child(), tree_erase(), and tree_insert().
|
inlinenoexcept |
Definition at line 961 of file scratch_store_impl.hpp.
References alloc_page(), cur_, insert_up(), pineforge::detail::scratch_impl::kTypeIndexLeaf, pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), leaf_cap_, page_, rd_full(), pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w0_, w1_, w2_, wr64(), and wr_page().
Referenced by put_impl().
|
inlinenoexcept |
Definition at line 1025 of file scratch_store_impl.hpp.
References blob_free(), hget(), hset(), pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::kGhost, and pineforge::detail::scratch_impl::Core::Entry::val_word.
Referenced by remove_child().
Definition at line 1036 of file scratch_store_impl.hpp.
References cur_, free_page(), index_count(), pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), rd(), rd_full(), release_separator(), pineforge::detail::scratch_impl::st32(), pineforge::detail::scratch_impl::st64(), w0_, and wr_page().
Referenced by tree_erase().
|
inlinenoexcept |
Definition at line 1090 of file scratch_store_impl.hpp.
References free_page(), pineforge::detail::scratch_impl::ld32(), pineforge::detail::scratch_impl::ld64(), next(), rd_full(), remove_child(), pineforge::detail::scratch_impl::st32(), w0_, wr64(), and wr_page().
Referenced by erase_impl().
|
inlinenoexcept |
Definition at line 1117 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::kMagic, pineforge::detail::scratch_impl::kSuperFields, pineforge::detail::scratch_impl::kVersion, pineforge::detail::scratch_impl::Fold::le64(), order_, page_, pineforge::detail::scratch_impl::st64(), and pineforge::detail::scratch_impl::Fold::value.
Referenced by commit_impl().
|
inlinenoexcept |
Definition at line 1129 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::kMagic, pineforge::detail::scratch_impl::kSuperFields, pineforge::detail::scratch_impl::kVersion, pineforge::detail::scratch_impl::ld64(), pineforge::detail::scratch_impl::Fold::le64(), page_, and pineforge::detail::scratch_impl::Fold::value.
Referenced by reopen_load().
|
inlinenoexcept |
Definition at line 1155 of file scratch_store_impl.hpp.
References backing_, bread(), cur_, decode_super(), pineforge::detail::scratch_impl::Core::Super::hw, order_, sbuf_, and pineforge::detail::scratch_impl::Core::Super::seq.
Referenced by Core().
|
inlinenoexcept |
Definition at line 1182 of file scratch_store_impl.hpp.
References active_, busy_, carried_failure_, cur_, hw0_, open_status_, poisoned_, snap_, txn_, used_count_, used_head_, and used_tail_.
|
inlinenoexcept |
Definition at line 1196 of file scratch_store_impl.hpp.
References active_, bread(), bsync(), pineforge::detail::buffered, bwrite(), cur_, encode_super(), flush(), pineforge::detail::scratch_impl::kNoSlot, next(), sbuf_, pineforge::detail::scratch_impl::st64(), structural(), tainted_slot_, usable_, used_count_, used_head_, and used_tail_.
Referenced by commit().
|
inlinenoexcept |
Definition at line 1236 of file scratch_store_impl.hpp.
References active_, pineforge::detail::buffered, busy_, commit_impl(), pineforge::detail::data, pineforge::detail::full, open_status_, and poisoned_.
|
inlinenoexcept |
Definition at line 1250 of file scratch_store_impl.hpp.
References active_, bread(), bwrite(), cur_, hw0_, invalidate_all(), jbuf_, pineforge::detail::scratch_impl::kNoSlot, pineforge::detail::scratch_impl::kTrailer, pineforge::detail::scratch_impl::ld64(), next(), page_, poisoned_, snap_, pineforge::detail::scratch_impl::st64(), structural(), tainted_slot_, usable_, used_count_, used_head_, used_tail_, and w3_.
Referenced by rollback(), and shutdown().
|
inlinenoexcept |
Definition at line 1290 of file scratch_store_impl.hpp.
References active_, busy_, open_status_, poisoned_, and rollback_impl().
|
inlinenoexcept |
Definition at line 1299 of file scratch_store_impl.hpp.
References blob_create(), blob_free(), cur_, descend(), hget(), hset(), pineforge::detail::key, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::kLive, leaf_entry(), tree_insert(), pineforge::detail::scratch_impl::Core::Entry::val_loc, pineforge::detail::scratch_impl::Core::Entry::val_word, and pineforge::detail::value.
Referenced by put().
|
inlinenoexcept |
Definition at line 1349 of file scratch_store_impl.hpp.
References active_, busy_, pineforge::detail::key, open_status_, poisoned_, put_impl(), and pineforge::detail::value.
|
inlinenoexcept |
Definition at line 1362 of file scratch_store_impl.hpp.
References blob_free(), cur_, pineforge::detail::scratch_impl::Core::Path::depth, descend(), hset(), pineforge::detail::key, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::kGhost, pineforge::detail::scratch_impl::ld64(), leaf_entry(), pineforge::detail::scratch_impl::Core::Path::page, rd(), pineforge::detail::scratch_impl::Core::Path::slot, tree_erase(), and pineforge::detail::scratch_impl::Core::Entry::val_word.
Referenced by erase().
|
inlinenoexcept |
Definition at line 1406 of file scratch_store_impl.hpp.
References active_, busy_, erase_impl(), hget(), pineforge::detail::scratch_impl::kLive, open_status_, poisoned_, and pineforge::detail::scratch_impl::Core::Entry::val_word.
|
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().
|
inlinenoexcept |
Definition at line 1428 of file scratch_store_impl.hpp.
References page_.
Referenced by digest(), for_each(), and visit().
|
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().
|
inlinenoexcept |
Definition at line 1438 of file scratch_store_impl.hpp.
References pineforge::detail::scratch_impl::Core::Entry::key_len, live_entry(), readable(), and pineforge::detail::scratch_impl::Core::Entry::val_word.
|
inlinenoexcept |
Definition at line 1449 of file scratch_store_impl.hpp.
References pineforge::detail::key, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, live_entry(), readable(), pineforge::detail::scratch_impl::Core::Entry::val_loc, pineforge::detail::scratch_impl::Core::Entry::val_word, and pineforge::detail::value.
|
inlinenoexcept |
Definition at line 1464 of file scratch_store_impl.hpp.
References blob_read(), busy_, pineforge::detail::ScratchRecordInfo::handle, pineforge::detail::key, pineforge::detail::ScratchRecordInfo::key_bytes, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, live_entry(), page_, page_ok(), readable(), pineforge::detail::scratch_impl::Core::Entry::val_loc, pineforge::detail::scratch_impl::Core::Entry::val_word, pineforge::detail::value, and pineforge::detail::ScratchRecordInfo::value_bytes.
|
inlinenoexcept |
Definition at line 1502 of file scratch_store_impl.hpp.
References busy_, pineforge::detail::ScratchRecordInfo::handle, index_count(), pineforge::detail::key, pineforge::detail::ScratchRecordInfo::key_bytes, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::ld64(), leaf_entry(), leftmost_leaf(), live_entry(), page_ok(), rd(), readable(), structural(), pineforge::detail::scratch_impl::Core::Entry::val_loc, pineforge::detail::scratch_impl::Core::Entry::val_word, pineforge::detail::value, and pineforge::detail::ScratchRecordInfo::value_bytes.
|
inlinenoexcept |
Definition at line 1538 of file scratch_store_impl.hpp.
References leaf_entry(), leftmost_leaf(), readable(), and pineforge::detail::scratch_no_handle.
|
inlinenoexcept |
Definition at line 1554 of file scratch_store_impl.hpp.
References descend(), index_count(), pineforge::detail::key, pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::ld64(), leaf_entry(), live_entry(), rd(), readable(), and pineforge::detail::scratch_no_handle.
Referenced by blob_create(), blob_free(), commit_impl(), Core(), rollback_impl(), and tree_erase().
|
inlinenoexcept |
Definition at line 1597 of file scratch_store_impl.hpp.
References descend(), index_count(), pineforge::detail::scratch_impl::ld64(), leaf_entry(), rd(), readable(), and pineforge::detail::scratch_no_handle.
|
inlinenoexcept |
Definition at line 1633 of file scratch_store_impl.hpp.
References blob_read(), and page_.
Referenced by digest().
|
inlinenoexcept |
Definition at line 1646 of file scratch_store_impl.hpp.
References active_, cur_, fold_source(), index_count(), pineforge::detail::scratch_impl::Core::Entry::key_len, pineforge::detail::scratch_impl::Core::Entry::key_loc, pineforge::detail::scratch_impl::ld64(), pineforge::detail::scratch_impl::Fold::le64(), leaf_entry(), leftmost_leaf(), live_entry(), order_, page_ok(), rd(), readable(), structural(), pineforge::detail::scratch_impl::Core::Entry::val_loc, pineforge::detail::scratch_impl::Core::Entry::val_word, and pineforge::detail::scratch_impl::Fold::value.
|
inlinenoexcept |
Definition at line 1686 of file scratch_store_impl.hpp.
References backing_, pineforge::detail::ScratchStoreStats::backing_bytes, pineforge::detail::ScratchStoreStats::backing_pages, open_status_, page_, pineforge::detail::ScratchStoreStats::page_reads, pineforge::detail::ScratchStoreStats::page_writes, reads_, pineforge::detail::ScratchStoreStats::resident_bytes, pineforge::detail::ScratchStoreStats::syncs, syncs_, total_, and writes_.
| 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().
| ScratchBacking* pineforge::detail::scratch_impl::Core::backing_ = nullptr |
Definition at line 1701 of file scratch_store_impl.hpp.
Referenced by bread(), bsync(), bwrite(), Core(), note_backing_failure(), reopen_load(), and stats().
| 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().
| 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().
| std::size_t pineforge::detail::scratch_impl::Core::total_ = 0 |
Definition at line 1704 of file scratch_store_impl.hpp.
Referenced by stats().
| std::size_t pineforge::detail::scratch_impl::Core::page_ = 0 |
Definition at line 1705 of file scratch_store_impl.hpp.
Referenced by blob_create(), bread(), bwrite(), cell_alloc(), Core(), decode_super(), encode_super(), fold_source(), hfind_leaf(), insert_up(), new_root(), page_at(), page_ok(), rollback_impl(), stats(), tree_insert(), visit(), and wr_page().
| 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().
| 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().
| 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().
| 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().
| 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().
| std::size_t pineforge::detail::scratch_impl::Core::hleaf_cap_ = 0 |
Definition at line 1711 of file scratch_store_impl.hpp.
| std::size_t pineforge::detail::scratch_impl::Core::hnode_cap_ = 0 |
Definition at line 1712 of file scratch_store_impl.hpp.
| 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().
| 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().
| 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* pineforge::detail::scratch_impl::Core::slot_ = nullptr |
| 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().
| Byte* pineforge::detail::scratch_impl::Core::cache_ = nullptr |
Definition at line 1718 of file scratch_store_impl.hpp.
| 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().
| 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().
| 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().
| Byte* pineforge::detail::scratch_impl::Core::w3_ = nullptr |
Definition at line 1722 of file scratch_store_impl.hpp.
Referenced by blob_create(), cell_alloc(), Core(), hfind_leaf(), new_root(), and rollback_impl().
| 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().
| 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().
| std::uint64_t pineforge::detail::scratch_impl::Core::tick_ = 0 |
Definition at line 1725 of file scratch_store_impl.hpp.
Referenced by fetch().
| std::uint64_t pineforge::detail::scratch_impl::Core::reads_ = 0 |
Definition at line 1726 of file scratch_store_impl.hpp.
| std::uint64_t pineforge::detail::scratch_impl::Core::writes_ = 0 |
Definition at line 1727 of file scratch_store_impl.hpp.
| std::uint64_t pineforge::detail::scratch_impl::Core::syncs_ = 0 |
Definition at line 1728 of file scratch_store_impl.hpp.
| Super pineforge::detail::scratch_impl::Core::cur_ {} |
Definition at line 1729 of file scratch_store_impl.hpp.
Referenced by alloc_page(), begin(), blob_free(), cell_alloc(), commit_impl(), descend(), digest(), erase_impl(), free_page(), hfind_leaf(), hget(), leftmost_leaf(), new_root(), put_impl(), remove_child(), reopen_load(), rollback_impl(), touch(), and tree_insert().
| Super pineforge::detail::scratch_impl::Core::snap_ {} |
Definition at line 1730 of file scratch_store_impl.hpp.
Referenced by begin(), and rollback_impl().
| bool pineforge::detail::scratch_impl::Core::active_ = false |
Definition at line 1731 of file scratch_store_impl.hpp.
Referenced by begin(), commit(), commit_impl(), digest(), erase(), put(), rollback(), rollback_impl(), shutdown(), and touch().
| 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().
| std::uint64_t pineforge::detail::scratch_impl::Core::txn_ = 0 |
Definition at line 1733 of file scratch_store_impl.hpp.
| 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().
| 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().
| 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().
| 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().
| 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().
| std::uint32_t pineforge::detail::scratch_impl::Core::busy_ = 0 |
Definition at line 1739 of file scratch_store_impl.hpp.
Referenced by begin(), commit(), compare_with(), erase(), for_each(), put(), read_source(), rollback(), and visit().