CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
cmlabs::TimeQueueSchedule Class Reference

One recurring (or time-bounded) activation schedule managed by a TimeQueue. More...

#include <PsySpace.h>

Collaboration diagram for cmlabs::TimeQueueSchedule:
[legend]

Public Member Functions

 TimeQueueSchedule (uint32 interval, uint64 start=0, uint64 end=0)
 Create a schedule.
 ~TimeQueueSchedule ()
 Destructor.

Public Attributes

uint32 id
 Unique schedule id, used for removal via TimeQueue::removeSchedule().
uint64 nextTrigger
 Next activation time (PsyTime µs timestamp), maintained by the TimeQueue.
uint32 interval
 Repeat interval in milliseconds.
uint64 start
 First-activation time (µs), or 0 for immediate.
uint64 end
 Expiry time (µs), or 0 for no expiry.
PsyType msgType
 Type of the message generated on each activation.
uint32 msgTag
 Tag attached to the generated message.

Detailed Description

One recurring (or time-bounded) activation schedule managed by a TimeQueue.

Describes a periodic event: every interval milliseconds between the optional start and end timestamps a message of type msgType / tag msgTag is generated to activate a module. Instances are owned by the TimeQueue they are added to (TimeQueue::addSchedule() takes ownership).

Definition at line 61 of file PsySpace.h.

Constructor & Destructor Documentation

◆ TimeQueueSchedule()

cmlabs::TimeQueueSchedule::TimeQueueSchedule ( uint32 interval,
uint64 start = 0,
uint64 end = 0 )

Create a schedule.

Parameters
intervalRepeat interval in milliseconds.
startOptional first-activation time (PsyTime µs timestamp); 0 means start immediately.
endOptional expiry time (PsyTime µs timestamp); 0 means never expires.

Definition at line 13 of file PsySpace.cpp.

References end, interval, and start.

◆ ~TimeQueueSchedule()

cmlabs::TimeQueueSchedule::~TimeQueueSchedule ( )

Destructor.

No resources beyond the object itself.

Definition at line 19 of file PsySpace.cpp.

Member Data Documentation

◆ end

uint64 cmlabs::TimeQueueSchedule::end

Expiry time (µs), or 0 for no expiry.

Definition at line 77 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::addSchedule(), and TimeQueueSchedule().

◆ id

uint32 cmlabs::TimeQueueSchedule::id

Unique schedule id, used for removal via TimeQueue::removeSchedule().

Definition at line 72 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::addSchedule().

◆ interval

uint32 cmlabs::TimeQueueSchedule::interval

Repeat interval in milliseconds.

Definition at line 75 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::addSchedule(), and TimeQueueSchedule().

◆ msgTag

uint32 cmlabs::TimeQueueSchedule::msgTag

Tag attached to the generated message.

Definition at line 80 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::waitForNextEvent().

◆ msgType

PsyType cmlabs::TimeQueueSchedule::msgType

Type of the message generated on each activation.

Definition at line 79 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::waitForNextEvent().

◆ nextTrigger

uint64 cmlabs::TimeQueueSchedule::nextTrigger

Next activation time (PsyTime µs timestamp), maintained by the TimeQueue.

Definition at line 73 of file PsySpace.h.

◆ start

uint64 cmlabs::TimeQueueSchedule::start

First-activation time (µs), or 0 for immediate.

Definition at line 76 of file PsySpace.h.

Referenced by cmlabs::TimeQueue::addSchedule(), and TimeQueueSchedule().


The documentation for this class was generated from the following files:
  • /home/ubuntu/c/partner/psyclone2/CMSDK/include/PsySpace.h
  • /home/ubuntu/c/partner/psyclone2/CMSDK/src/PsySpace.cpp