chronon::PhasedAutoRegisteredUnit
AutoRegisteredUnit variant with automatic Phase0/Phase1 dispatch. More...
#include <SenderFactory.hpp>
Inherits from chronon::sender::PhasedTickableUnit< Derived >, chronon::sender::TickableUnit, chronon::sender::Unit
Public Functions
| Name | |
|---|---|
| PhasedAutoRegisteredUnit(std::string name) |
Protected Functions
| Name | |
|---|---|
| PhasedAutoRegisteredUnit(std::string name, bool ) |
Additional inherited members
Public Functions inherited from chronon::sender::PhasedTickableUnit< Derived >
| Name | |
|---|---|
| virtual void | tick() override Per-cycle behavior. Must complete synchronously. |
| PhasedTickableUnit(std::string name) |
Protected Functions inherited from chronon::sender::PhasedTickableUnit< Derived >
| Name | |
|---|---|
| template <ValidPhase P> void | tickPhase() |
Public Functions inherited from chronon::sender::TickableUnit
| Name | |
|---|---|
| virtual | ~TickableUnit() =default |
| virtual void | tick() =0 Per-cycle behavior. Must complete synchronously. |
| virtual bool | isCompleted() const Return true to signal the simulation can stop. |
| void | executeTick() Inlined hot path executed millions of times per second. |
| TickableUnit(std::string name) |
Protected Functions inherited from chronon::sender::TickableUnit
| Name | |
|---|---|
| template <ValidPhase P> void | tickPhase() |
| void | requestTermination(TerminationReason reason, int32_t exit_code =0, std::string_view message ="") |
| void | requestTermination(TerminationReason reason, int32_t exit_code, uint64_t cycle, std::string_view message) |
| void | requestExitSyscall(int32_t exit_code) |
| void | requestError(std::string_view message) |
Friends inherited from chronon::sender::TickableUnit
| Name | |
|---|---|
| class | TickSimulation |
Public Functions inherited from chronon::sender::Unit
| Name | |
|---|---|
| virtual | ~Unit() =default |
| void | useFastCycleCounter() Default mode. Eliminates atomic overhead (~80% of tight-loop time). |
| void | useAtomicCycleCounter() |
| tree::TreeNode * | treeNode() const |
| UnitState | state() const |
| void | setTreeNode(tree::TreeNode * node) Triggers registration of all pending ports to PortDirectory. |
| void | registerPort(PortBase * port) |
| const std::vector< PortBase * > & | ports() const |
| Unit & | operator=(const Unit & ) =delete |
| Unit & | operator=(Unit && ) =delete |
| const std::string & | name() const |
| uint64_t | localCycle() const |
| virtual void | initialize() Called after all connections are made, before run() starts. |
| uint32_t | id() const |
| std::string | fullPath() const Returns the tree path if a TreeNode is set, else the unit name. |
| virtual void | finalize() Called after run() completes or simulation is stopped. |
| uint8_t | crashNameLen() const |
| const char * | crashName() const |
| void | addPendingPortRegistration(std::function< void(const std::string &)> registration) |
| Unit(std::string name) | |
| Unit(const Unit & ) =delete | |
| Unit(Unit && ) =delete |
Protected Functions inherited from chronon::sender::Unit
| Name | |
|---|---|
| void | setState(UnitState state) |
| void | setLocalCycle(uint64_t cycle) |
| void | setId(uint32_t id) |
| uint64_t | localCycleAtomic() const |
| void | advanceLocalCycle(uint64_t delta =1) Fast path: ~0.3ns increment. Slow path (atomic): ~15ns. |
Friends inherited from chronon::sender::Unit
| Name | |
|---|---|
| class | TickSimulation |
Detailed Description
template <typename Derived >
class chronon::PhasedAutoRegisteredUnit;
AutoRegisteredUnit variant with automatic Phase0/Phase1 dispatch.
For units that combine YAML factory registration with phase-aware pipeline registers. Subclasses implement tickPhase<P>() instead of [tick()](/docs/api/Classes/classchronon_1_1sender_1_1PhasedTickableUnit#function-tick) — dispatch boilerplate is supplied by PhasedTickableUnit.
Public Functions Documentation
function PhasedAutoRegisteredUnit
inline explicit PhasedAutoRegisteredUnit(
std::string name
)
Protected Functions Documentation
function PhasedAutoRegisteredUnit
inline PhasedAutoRegisteredUnit(
std::string name,
bool
)
Updated on 2026-05-26 at 05:42:32 +0000