|
PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI 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 |
Definition at line 1747 of file scratch_store_impl.hpp.
|
inlinenoexcept |
Definition at line 1748 of file scratch_store_impl.hpp.