CTRE Phoenix C++ 5.33.1
|
Scheduler that wil run its ILoopables in concurrency. More...
#include <ctre/phoenix/tasking/Schedulers/ConcurrentScheduler.h>
Public Member Functions | |
ConcurrentScheduler () | |
virtual | ~ConcurrentScheduler () |
void | Add (ILoopable *aLoop, bool enable=true) |
Add ILoopable to schedule. More... | |
void | RemoveAll () |
Remove all ILoopables from scheduler. More... | |
void | Start (ILoopable *toStart) |
Start an ILoopable. More... | |
void | Stop (ILoopable *toStop) |
Stop an ILoopable. More... | |
void | StartAll () |
Start all ILoopables. More... | |
void | StopAll () |
Stop all ILoopables. More... | |
void | Process () |
Process every ILoopable. More... | |
bool | Iterated () |
void | OnStart () |
Start all ILoopables. More... | |
void | OnLoop () |
Process all ILoopables. More... | |
void | OnStop () |
Stop all ILoopables. More... | |
bool | IsDone () |
Public Member Functions inherited from ctre::phoenix::tasking::ILoopable | |
virtual | ~ILoopable () |
virtual void | OnStart ()=0 |
Function called when object starts. More... | |
virtual void | OnLoop ()=0 |
Function called every loop. More... | |
virtual bool | IsDone ()=0 |
virtual void | OnStop ()=0 |
Function called when object stops. More... | |
Public Member Functions inherited from ctre::phoenix::tasking::IProcessable | |
virtual | ~IProcessable () |
virtual void | Process ()=0 |
This function is called when a process occurs. More... | |
Public Attributes | |
std::vector< ILoopable * > | _loops |
Should be private. More... | |
std::vector< bool > | _enabs |
Should be private. More... | |
Scheduler that wil run its ILoopables in concurrency.
ctre::phoenix::tasking::schedulers::ConcurrentScheduler::ConcurrentScheduler | ( | ) |
|
virtual |
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::Add | ( | ILoopable * | aLoop, |
bool | enable = true |
||
) |
|
virtual |
Implements ctre::phoenix::tasking::ILoopable.
bool ctre::phoenix::tasking::schedulers::ConcurrentScheduler::Iterated | ( | ) |
|
virtual |
Process all ILoopables.
Implements ctre::phoenix::tasking::ILoopable.
|
virtual |
Start all ILoopables.
Implements ctre::phoenix::tasking::ILoopable.
|
virtual |
Stop all ILoopables.
Implements ctre::phoenix::tasking::ILoopable.
|
virtual |
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::RemoveAll | ( | ) |
Remove all ILoopables from scheduler.
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::Start | ( | ILoopable * | toStart | ) |
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::StartAll | ( | ) |
Start all ILoopables.
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::Stop | ( | ILoopable * | toStop | ) |
void ctre::phoenix::tasking::schedulers::ConcurrentScheduler::StopAll | ( | ) |
Stop all ILoopables.
std::vector<bool> ctre::phoenix::tasking::schedulers::ConcurrentScheduler::_enabs |
Should be private.
std::vector<ILoopable*> ctre::phoenix::tasking::schedulers::ConcurrentScheduler::_loops |
Should be private.