MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Vruta::IClock Class Referenceabstract

Abstract base interface for all clock types in the multimodal scheduling system. More...

#include <Clock.hpp>

+ Inheritance diagram for MayaFlux::Vruta::IClock:
+ Collaboration diagram for MayaFlux::Vruta::IClock:

Public Member Functions

virtual ~IClock ()=default
 
virtual void tick (uint64_t units=1)=0
 Advance the clock by specified processing units.
 
virtual uint64_t current_position () const =0
 Get current position in the domain's timeline.
 
virtual double current_time () const =0
 Get current time converted to seconds.
 
virtual uint32_t rate () const =0
 Get the processing rate for this timing domain.
 
virtual void reset ()=0
 Reset clock to initial state (position 0)
 

Detailed Description

Abstract base interface for all clock types in the multimodal scheduling system.

IClock provides a unified interface that enables polymorphic handling of different timing domains while maintaining domain-specific implementations. This abstraction allows the TaskScheduler to work with any clock type (audio, visual, custom) through a common interface, enabling seamless multimodal coroutine scheduling.

The interface supports:

  • Domain-agnostic time advancement through tick()
  • Position queries in domain-specific units
  • Time conversion to universal seconds
  • Rate queries for time calculations
  • Clock reset for testing and initialization

Implementations must ensure thread-safety if used in multi-threaded contexts.

Definition at line 23 of file Clock.hpp.


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