npr::rf::NprRuntime::Impl struct final

Public types

struct Ipv4Datagram

Public static variables

static UBaseType_t kDownlinkQueueLength constexpr
static size_t kMacEngineStorageAlign constexpr
static size_t kMacEngineStorageSize constexpr
static size_t kMaxIpv4DatagramBytes constexpr
static UBaseType_t kUplinkQueueLength constexpr

Public functions

void drain_downlink_queue_from_mac()
void drain_uplink_queue_to_mac()
void handle_slot_burst_tx()
void handle_unslotted_tx(uint64_t now_us, MacUnslottedAction action)
void process_rx_packets(size_t max_packets)
void publish_periodic_mac_diag(uint64_t now_us)
void run_mac_tick(uint64_t now_us, MacTickPlan* out_tick_plan)
auto run_phy_iteration(uint64_t* out_now_us) -> bool
void sync_pool_source_snapshot()

Public variables

const RadioProfile* active_profile
Common runtime services shared by both NPR roles.
NprFrameCodec codec
NprDiagnostics diagnostics
bool disabled_by_config
bool initialized
Common runtime lifecycle state owned outside role-specific MAC engines.
QueueHandle_t ipv4_downlink_queue
QueueHandle_t ipv4_uplink_queue
Queue boundary between generic host networking and NPR runtime.
IMacEngine* mac_engine
std::array<std::byte, kMacEngineStorageSize> mac_engine_storage
bool phy_ready_seen
PhyTdmExecutor phy_tdm_executor
prf::net::pool::Ipv4PoolManager* pool_manager
prf::net::pool::IPoolSourceSink* pool_source_sink
detail::PoolSourcePublishState pool_source_state
bool radio_disabled_logged
bool radio_rx_only
Runtime-owned orchestration policy that remains outside MAC role logic.
prf::system::ITaskHeartbeatSink* task_heartbeat_sink
prf::system::TaskHealthTaskId task_id