chronon::sender::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 void | clearPendingMessages() |
| virtual void | arbitrateMPSCConsumerDriven() |
Protected Functions
| Name | |
|---|---|
| PortBase(Unit * owner, std::string name) |
Protected Attributes
| Name | |
|---|---|
| Unit * | owner_ |
| std::string | name_ |
Detailed Description
class chronon::sender::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 clearPendingMessages
inline virtual void clearPendingMessages()
Reimplemented by: chronon::InPort::clearPendingMessages, chronon::sender::InPort::clearPendingMessages
Clear all pending messages in this port's queue.
Used for post-profiling reset to drain queues before simulation starts. Default no-op for OutPorts; overridden in InPort.
function arbitrateMPSCConsumerDriven
inline virtual void arbitrateMPSCConsumerDriven()
Reimplemented by: chronon::InPort::arbitrateMPSCConsumerDriven, chronon::sender::InPort::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-05-26 at 05:42:32 +0000