PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::detail::CommandScratchStore::State Struct Reference

#include <scratch_store_impl.hpp>

Public Member Functions

 State (const ScratchStoreConfig &config, ScratchBacking *backing, std::size_t total) noexcept
 
- Public Member Functions inherited from pineforge::detail::scratch_impl::Core
 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
 

Additional Inherited Members

- Public Types inherited from pineforge::detail::scratch_impl::Core
using Status = ScratchStatus
 
- Static Public Member Functions inherited from pineforge::detail::scratch_impl::Core
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 inherited from pineforge::detail::scratch_impl::Core
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 1747 of file scratch_store_impl.hpp.

Constructor & Destructor Documentation

◆ State()

pineforge::detail::CommandScratchStore::State::State ( const ScratchStoreConfig & config,
ScratchBacking * backing,
std::size_t total )
inlinenoexcept

Definition at line 1748 of file scratch_store_impl.hpp.


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