Contur 2
Educational OS kernel simulator
Loading...
Searching...
No Matches
contur::IDispatchRuntime Class Referenceabstract

Strategy interface that executes dispatch/tick across dispatcher lanes. More...

#include <i_dispatch_runtime.h>

Inheritance diagram for contur::IDispatchRuntime:

Public Member Functions

virtual ~IDispatchRuntime ()=default
virtual std::string_view name () const noexcept=0
 Returns runtime implementation name.
virtual const HostThreadingConfigconfig () const noexcept=0
 Returns the normalized runtime-owned threading config.
virtual Result< void > dispatch (const DispatcherLanes &lanes, std::size_t tickBudget)=0
 Runs one dispatch cycle across provided lanes.
virtual void tick (const DispatcherLanes &lanes)=0
 Advances all lanes by one runtime tick.

Detailed Description

Strategy interface that executes dispatch/tick across dispatcher lanes.

Definition at line 23 of file i_dispatch_runtime.h.

Constructor & Destructor Documentation

◆ ~IDispatchRuntime()

virtual contur::IDispatchRuntime::~IDispatchRuntime ( )
virtualdefault

Member Function Documentation

◆ config()

virtual const HostThreadingConfig & contur::IDispatchRuntime::config ( ) const
nodiscardpure virtualnoexcept

Returns the normalized runtime-owned threading config.

Implemented in contur::DispatcherPool, and contur::SerialDispatchRuntime.

References config().

Referenced by config().

◆ dispatch()

virtual Result< void > contur::IDispatchRuntime::dispatch ( const DispatcherLanes & lanes,
std::size_t tickBudget )
nodiscardpure virtual

Runs one dispatch cycle across provided lanes.

Parameters
lanesDispatcher lanes to execute.
tickBudgetTick budget forwarded to each lane dispatch.
Returns
Ok if any lane made progress, or an aggregated error.

Implemented in contur::DispatcherPool, and contur::SerialDispatchRuntime.

References dispatch().

Referenced by dispatch().

◆ name()

virtual std::string_view contur::IDispatchRuntime::name ( ) const
nodiscardpure virtualnoexcept

Returns runtime implementation name.

Implemented in contur::DispatcherPool, and contur::SerialDispatchRuntime.

◆ tick()

virtual void contur::IDispatchRuntime::tick ( const DispatcherLanes & lanes)
pure virtual

Advances all lanes by one runtime tick.

Parameters
lanesDispatcher lanes to tick.

Implemented in contur::DispatcherPool, and contur::SerialDispatchRuntime.

References tick().

Referenced by tick().


The documentation for this class was generated from the following file: