PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
run_quota.hpp File Reference
#include <pineforge/run_failure.hpp>
#include <array>
#include <cstddef>
#include <cstdint>
#include <memory>
Include dependency graph for run_quota.hpp:

Go to the source code of this file.

Data Structures

struct  pineforge::detail::QuotaMessage
 
struct  pineforge::detail::QuotaAmounts
 
struct  pineforge::detail::QuotaObject
 
struct  pineforge::detail::QuotaSnapshot
 
class  pineforge::detail::QuotaTicket
 
class  pineforge::detail::RunQuota
 

Namespaces

namespace  pineforge
 
namespace  pineforge::detail
 

Typedefs

using pineforge::detail::QuotaWire = std::array<unsigned char, kRunQuotaWireSize>
 

Enumerations

enum class  pineforge::detail::QuotaMode {
  pineforge::detail::unmanaged ,
  pineforge::detail::managed
}
 
enum class  pineforge::detail::QuotaOpcode : std::uint16_t {
  pineforge::detail::hello = 1 ,
  pineforge::detail::reserve ,
  pineforge::detail::commit ,
  pineforge::detail::cancel ,
  pineforge::detail::release ,
  pineforge::detail::snapshot ,
  pineforge::detail::finish
}
 
enum class  pineforge::detail::QuotaStage : std::uint64_t {
  pineforge::detail::admission = 1 ,
  pineforge::detail::transpile ,
  pineforge::detail::compile ,
  pineforge::detail::execution ,
  pineforge::detail::assembly ,
  pineforge::detail::finalizer ,
  pineforge::detail::converter ,
  pineforge::detail::publication
}
 
enum class  pineforge::detail::QuotaArtifact : std::uint64_t {
  pineforge::detail::workdir = 1 ,
  pineforge::detail::compiler ,
  pineforge::detail::table ,
  pineforge::detail::ledger ,
  pineforge::detail::arena ,
  pineforge::detail::curve ,
  pineforge::detail::sink ,
  pineforge::detail::spool ,
  pineforge::detail::column_index ,
  pineforge::detail::column_data ,
  pineforge::detail::json ,
  pineforge::detail::stdout_stream ,
  pineforge::detail::conversion ,
  pineforge::detail::diagnostic
}
 
enum class  pineforge::detail::QuotaRole : std::uint64_t {
  pineforge::detail::host = 1 ,
  pineforge::detail::compiler ,
  pineforge::detail::worker ,
  pineforge::detail::finalizer ,
  pineforge::detail::converter ,
  pineforge::detail::reaper
}
 
enum class  pineforge::detail::QuotaResource : std::uint64_t {
  pineforge::detail::scratch_bytes = 1 ,
  pineforge::detail::scratch_files ,
  pineforge::detail::output_bytes ,
  pineforge::detail::descriptors
}
 
enum class  pineforge::detail::QuotaSetting : std::uint64_t {
  pineforge::detail::scratch_bytes = 1 ,
  pineforge::detail::scratch_files ,
  pineforge::detail::output_bytes ,
  pineforge::detail::descriptors ,
  pineforge::detail::compiler ,
  pineforge::detail::facts ,
  pineforge::detail::workdir ,
  pineforge::detail::channel ,
  pineforge::detail::profile ,
  pineforge::detail::protocol
}
 
enum class  pineforge::detail::QuotaStatus : std::uint64_t {
  pineforge::detail::ok = 0 ,
  pineforge::detail::resource_exceeded ,
  pineforge::detail::descriptors_exceeded ,
  pineforge::detail::missing_limit ,
  pineforge::detail::malformed_limit ,
  pineforge::detail::counter_overflow ,
  pineforge::detail::protocol ,
  pineforge::detail::containment_unavailable ,
  pineforge::detail::unmanaged_path ,
  pineforge::detail::unknown_bound ,
  pineforge::detail::unsupported_route
}
 
enum class  pineforge::detail::QuotaSlot : std::size_t {
  pineforge::detail::nonce_hi ,
  pineforge::detail::nonce_lo ,
  pineforge::detail::object ,
  pineforge::detail::generation ,
  pineforge::detail::ticket ,
  pineforge::detail::stage ,
  pineforge::detail::artifact ,
  pineforge::detail::role ,
  pineforge::detail::resource ,
  pineforge::detail::old_extent ,
  pineforge::detail::new_extent ,
  pineforge::detail::delta_disk ,
  pineforge::detail::delta_files ,
  pineforge::detail::delta_output ,
  pineforge::detail::delta_fds ,
  pineforge::detail::status ,
  pineforge::detail::used ,
  pineforge::detail::requested ,
  pineforge::detail::limit ,
  pineforge::detail::peak ,
  pineforge::detail::committed ,
  pineforge::detail::reserved ,
  pineforge::detail::soft_nofile ,
  pineforge::detail::pid ,
  pineforge::detail::tid ,
  pineforge::detail::device ,
  pineforge::detail::inode ,
  pineforge::detail::zero0 ,
  pineforge::detail::zero1 ,
  pineforge::detail::zero2
}
 

Functions

QuotaMode pineforge::detail::mode () noexcept
 
const char * pineforge::detail::quota_line () noexcept
 
const char * pineforge::detail::last_admission_diagnostic () noexcept
 
QuotaWire pineforge::detail::encode_quota_message (const QuotaMessage &)
 
QuotaMessage pineforge::detail::decode_quota_message (const unsigned char *, std::size_t)
 
RunFailureValue pineforge::detail::run_quota_failure () noexcept
 
std::uint64_t pineforge::detail::quota_rounded_extent (std::uint64_t extent, std::uint64_t block_size)
 

Variables

constexpr std::uint64_t pineforge::detail::kRunQuotaMax = (std::uint64_t{1} << 53) - 1
 
constexpr std::size_t pineforge::detail::kRunQuotaWireSize = 256
 
constexpr std::uint16_t pineforge::detail::kRunQuotaVersion = 1
 
constexpr std::uint16_t pineforge::detail::kRunQuotaReply = 0x8000
 
constexpr char pineforge::detail::kRunQuotaModeEnv [] = "PF_RUN_QUOTA_MODE"
 
constexpr char pineforge::detail::kRunQuotaNativeFdEnv [] = "PF_RUN_QUOTA_NATIVE_FD"
 
constexpr char pineforge::detail::kRunQuotaPythonFdEnv [] = "PF_RUN_QUOTA_PYTHON_FD"
 
constexpr char pineforge::detail::kRunQuotaEnforcement [] = "cooperative"
 
constexpr char pineforge::detail::kRunQuotaManagedLine [] = "quota=managed enforcement=cooperative"
 
constexpr char pineforge::detail::kRunQuotaUnmanagedLine [] = "quota=unmanaged"