Skip to main content

chronon::sender::PortBase

More...

#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 voidclearPendingMessages()
virtual voidarbitrateMPSCConsumerDriven()

Protected Functions

Name
PortBase(Unit * owner, std::string name)

Protected Attributes

Name
Unit *owner_
std::stringname_

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