chronon::sender::detail
Classes
Functions
| Name | |
|---|---|
| bool | shouldYieldDynamicWaitThread(uint64_t spin_iteration, uint64_t spin_mask) |
| bool | shouldSampleDynamicTick(uint64_t cycle, uint64_t last_sample) |
| uint64_t | nextPeriodicCycle(uint64_t cycle, uint64_t period) |
| template <typename T > bool | isCanceled(const PortEnvelope< T > & msg) |
| uint64_t | dynamicWaitThreadYieldSpinMask(bool lookahead_floor_wait) |
| uint64_t | dynamicClusterBurstEnd(uint64_t cycle, uint64_t end_cycle, uint64_t ready_through_cycle, uint64_t next_counter_cycle =UINT64_MAX) |
Attributes
| Name | |
|---|---|
| uint64_t | kNoDynamicTickSample |
| uint64_t | kFloorWaitThreadYieldSpinMask |
| uint64_t | kDynamicTickSampleInterval |
| uint64_t | kDynamicClusterBurstCycles |
| uint64_t | kDependencyWaitThreadYieldSpinMask |
| thread_local constinit TickContext | current_tick_context_ |
Functions Documentation
function shouldYieldDynamicWaitThread
bool shouldYieldDynamicWaitThread(
uint64_t spin_iteration,
uint64_t spin_mask
)
function shouldSampleDynamicTick
inline bool shouldSampleDynamicTick(
uint64_t cycle,
uint64_t last_sample
)
Start after a complete warm window, then leave a full window between accepted samples. The runtime additionally requires every cluster member to execute at the sampled cycle, so periodic and externally woken units cannot be measured through permanently idle phases.
function nextPeriodicCycle
inline uint64_t nextPeriodicCycle(
uint64_t cycle,
uint64_t period
)
function isCanceled
template <typename T >
inline bool isCanceled(
const PortEnvelope< T > & msg
)
function dynamicWaitThreadYieldSpinMask
uint64_t dynamicWaitThreadYieldSpinMask(
bool lookahead_floor_wait
)
function dynamicClusterBurstEnd
inline uint64_t dynamicClusterBurstEnd(
uint64_t cycle,
uint64_t end_cycle,
uint64_t ready_through_cycle,
uint64_t next_counter_cycle =UINT64_MAX
)
Bound a dynamic cluster's local burst by every externally visible scheduler frontier. The dependency proof is exclusive: a cluster proven ready through N may execute cycles [cycle, N).
Attributes Documentation
variable kNoDynamicTickSample
uint64_t kNoDynamicTickSample = UINT64_MAX;
variable kFloorWaitThreadYieldSpinMask
uint64_t kFloorWaitThreadYieldSpinMask = 0xFF;
variable kDynamicTickSampleInterval
uint64_t kDynamicTickSampleInterval = 256;
variable kDynamicClusterBurstCycles
uint64_t kDynamicClusterBurstCycles = 4;
variable kDependencyWaitThreadYieldSpinMask
uint64_t kDependencyWaitThreadYieldSpinMask = 0xFFF;
variable current_tick_context_
thread_local constinit TickContext current_tick_context_;
Updated on 2026-07-23 at 16:24:33 +0000