|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
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) | |
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:
Implementations must ensure thread-safety if used in multi-threaded contexts.