6#ifndef NEXUS_STREAM_BUDGET_H
7#define NEXUS_STREAM_BUDGET_H
nx_result_t
Operation result; success at submission means admission only.
Bounded caller-owned blocks with explicit producer/consumer loans.
nx_result_t nx_stream_budget_calculate(const nx_stream_budget_t *budget, nx_stream_budget_result_t *out)
Checked cold calculation, no stream mutation or allocation.
nx_result_t nx_stream_observe(const nx_stream_t *stream, nx_stream_observation_t *out)
Snapshot maintained metadata under one short IRQ guard.
Conservative declared-assumption budget; never physical evidence.
nx_time_us_t block_fill_us
size_t required_payload_bytes
bool target_latency_sufficient
Explicit engineering assumptions, no inferred hardware rate.
nx_time_us_t target_delay_us
uint64_t units_per_second
nx_time_us_t release_delay_us
O(1) aggregate facts; free total does not imply cursor is free.
Caller-owned stream control, initialized before publication.
Absolute monotonic microsecond deadlines and wrap extension.
uint64_t nx_time_us_t
Microseconds in one boot/clock domain; no wall-clock semantics.