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 std::optional< uint64_t >minArrivalCycle() const
Earliest pending arrival visible through this port, if any.
virtual boolhasMPSCConnections() const
True if this port owns any MPSC staging queues that need consumer-side drains.
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 minArrivalCycle

inline virtual std::optional< uint64_t > minArrivalCycle() const

Earliest pending arrival visible through this port, if any.

Reimplemented by: chronon::InPort::minArrivalCycle, chronon::sender::InPort::minArrivalCycle

function hasMPSCConnections

inline virtual bool hasMPSCConnections() const

True if this port owns any MPSC staging queues that need consumer-side drains.

Reimplemented by: chronon::InPort::hasMPSCConnections, chronon::sender::InPort::hasMPSCConnections

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-07-06 at 09:03:33 +0000