chronon::PortBase
#include <Port.hpp>
Inherited by chronon::sender::InPort< T >, chronon::sender::OutPort< T >
Public Functions
| Name | |
|---|---|
| virtual | ~PortBase() =default |
| Unit * | owner() const |
| const std::string & | name() const |
| virtual std::optional< uint64_t > | minArrivalCycle() const Earliest pending arrival visible through this port, if any. |
| virtual bool | hasMPSCConnections() const True if this port owns any MPSC staging queues that need consumer-side drains. |
| virtual void | arbitrateMPSCConsumerDriven() |
Protected Functions
| Name | |
|---|---|
| PortBase(Unit * owner, std::string name) |
Protected Attributes
| Name | |
|---|---|
| Unit * | owner_ |
| std::string | name_ |
Detailed Description
class chronon::PortBase;
PortBase - Type-erased base class for all ports.
Public Functions Documentation
function ~PortBase
virtual ~PortBase() =default
function owner
inline Unit * owner() const
function name
inline const std::string & name() const
function minArrivalCycle
inline virtual std::optional< uint64_t > minArrivalCycle() const
Earliest pending arrival visible through this port, if any.
function hasMPSCConnections
inline virtual bool hasMPSCConnections() const
True if this port owns any MPSC staging queues that need consumer-side drains.
function arbitrateMPSCConsumerDriven
inline virtual void arbitrateMPSCConsumerDriven()
Consumer-tick-driven MPSC arbitration hook (Option 1, see docs/mpsc-atomic-publish.md). Called at the start of the owning receiver unit's tick(). Default no-op; InPort overrides to drain staging for ports with registered MPSC connections. OutPorts always no-op.
Protected Functions Documentation
function PortBase
inline PortBase(
Unit * owner,
std::string name
)
Protected Attributes Documentation
variable owner_
Unit * owner_;
variable name_
std::string name_;
Updated on 2026-07-06 at 09:03:34 +0000