live
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
BasicTaskScheduler0 Class Referenceabstract

#include <BasicUsageEnvironment0.hh>

Inheritance diagram for BasicTaskScheduler0:
Inheritance graph
[legend]
Collaboration diagram for BasicTaskScheduler0:
Collaboration graph
[legend]

Public Types

typedef void BackgroundHandlerProc(void *clientData, int mask)
 

Public Member Functions

virtual ~BasicTaskScheduler0 ()
 
virtual void SingleStep (unsigned maxDelayTime=0)=0
 
virtual TaskToken scheduleDelayedTask (int64_t microseconds, TaskFunc *proc, void *clientData)
 
virtual void unscheduleDelayedTask (TaskToken &prevTask)
 
virtual void doEventLoop (char volatile *watchVariable)
 
virtual EventTriggerId createEventTrigger (TaskFunc *eventHandlerProc)
 
virtual void deleteEventTrigger (EventTriggerId eventTriggerId)
 
virtual void triggerEvent (EventTriggerId eventTriggerId, void *clientData=NULL)
 
virtual void rescheduleDelayedTask (TaskToken &task, int64_t microseconds, TaskFunc *proc, void *clientData)
 
virtual void setBackgroundHandling (int socketNum, int conditionSet, BackgroundHandlerProc *handlerProc, void *clientData)=0
 
void disableBackgroundHandling (int socketNum)
 
virtual void moveSocketHandling (int oldSocketNum, int newSocketNum)=0
 
void turnOnBackgroundReadHandling (int socketNum, BackgroundHandlerProc *handlerProc, void *clientData)
 
void turnOffBackgroundReadHandling (int socketNum)
 
virtual void internalError ()
 

Protected Member Functions

 BasicTaskScheduler0 ()
 

Protected Attributes

intptr_t fTokenCounter
 
DelayQueue fDelayQueue
 
HandlerSetfHandlers
 
int fLastHandledSocketNum
 
std::atomic_flag fTriggersAwaitingHandling [MAX_NUM_EVENT_TRIGGERS]
 
u_int32_t fLastUsedTriggerMask
 
TaskFuncfTriggeredEventHandlers [MAX_NUM_EVENT_TRIGGERS]
 
void * fTriggeredEventClientDatas [MAX_NUM_EVENT_TRIGGERS]
 
unsigned fLastUsedTriggerNum
 
Boolean fEventTriggersAreBeingUsed
 

Detailed Description

Definition at line 85 of file BasicUsageEnvironment0.hh.

Member Typedef Documentation

◆ BackgroundHandlerProc

typedef void TaskScheduler::BackgroundHandlerProc(void *clientData, int mask)
inherited

Definition at line 132 of file UsageEnvironment.hh.

Constructor & Destructor Documentation

◆ ~BasicTaskScheduler0()

virtual BasicTaskScheduler0::~BasicTaskScheduler0 ( )
virtual

◆ BasicTaskScheduler0()

BasicTaskScheduler0::BasicTaskScheduler0 ( )
protected

Member Function Documentation

◆ createEventTrigger()

virtual EventTriggerId BasicTaskScheduler0::createEventTrigger ( TaskFunc eventHandlerProc)
virtual

Implements TaskScheduler.

◆ deleteEventTrigger()

virtual void BasicTaskScheduler0::deleteEventTrigger ( EventTriggerId  eventTriggerId)
virtual

Implements TaskScheduler.

◆ disableBackgroundHandling()

void TaskScheduler::disableBackgroundHandling ( int  socketNum)
inlineinherited

Definition at line 139 of file UsageEnvironment.hh.

139{ setBackgroundHandling(socketNum, 0, NULL, NULL); }
#define NULL
virtual void setBackgroundHandling(int socketNum, int conditionSet, BackgroundHandlerProc *handlerProc, void *clientData)=0

References NULL, and TaskScheduler::setBackgroundHandling().

Referenced by TaskScheduler::turnOffBackgroundReadHandling().

◆ doEventLoop()

virtual void BasicTaskScheduler0::doEventLoop ( char volatile *  watchVariable)
virtual

Implements TaskScheduler.

◆ internalError()

virtual void TaskScheduler::internalError ( )
virtualinherited

◆ moveSocketHandling()

virtual void TaskScheduler::moveSocketHandling ( int  oldSocketNum,
int  newSocketNum 
)
pure virtualinherited

Implemented in BasicTaskScheduler.

◆ rescheduleDelayedTask()

virtual void TaskScheduler::rescheduleDelayedTask ( TaskToken task,
int64_t  microseconds,
TaskFunc proc,
void *  clientData 
)
virtualinherited

◆ scheduleDelayedTask()

virtual TaskToken BasicTaskScheduler0::scheduleDelayedTask ( int64_t  microseconds,
TaskFunc proc,
void *  clientData 
)
virtual

Implements TaskScheduler.

◆ setBackgroundHandling()

virtual void TaskScheduler::setBackgroundHandling ( int  socketNum,
int  conditionSet,
BackgroundHandlerProc handlerProc,
void *  clientData 
)
pure virtualinherited

◆ SingleStep()

virtual void BasicTaskScheduler0::SingleStep ( unsigned  maxDelayTime = 0)
pure virtual

Implemented in BasicTaskScheduler.

◆ triggerEvent()

virtual void BasicTaskScheduler0::triggerEvent ( EventTriggerId  eventTriggerId,
void *  clientData = NULL 
)
virtual

Implements TaskScheduler.

◆ turnOffBackgroundReadHandling()

void TaskScheduler::turnOffBackgroundReadHandling ( int  socketNum)
inlineinherited

Definition at line 168 of file UsageEnvironment.hh.

168{ disableBackgroundHandling(socketNum); }
void disableBackgroundHandling(int socketNum)

References TaskScheduler::disableBackgroundHandling().

◆ turnOnBackgroundReadHandling()

void TaskScheduler::turnOnBackgroundReadHandling ( int  socketNum,
BackgroundHandlerProc handlerProc,
void *  clientData 
)
inlineinherited

Definition at line 165 of file UsageEnvironment.hh.

165 {
166 setBackgroundHandling(socketNum, SOCKET_READABLE, handlerProc, clientData);
167 }
#define SOCKET_READABLE

References TaskScheduler::setBackgroundHandling(), and SOCKET_READABLE.

◆ unscheduleDelayedTask()

virtual void BasicTaskScheduler0::unscheduleDelayedTask ( TaskToken prevTask)
virtual

Implements TaskScheduler.

Field Documentation

◆ fDelayQueue

DelayQueue BasicTaskScheduler0::fDelayQueue
protected

Definition at line 112 of file BasicUsageEnvironment0.hh.

◆ fEventTriggersAreBeingUsed

Boolean BasicTaskScheduler0::fEventTriggersAreBeingUsed
protected

Definition at line 128 of file BasicUsageEnvironment0.hh.

◆ fHandlers

HandlerSet* BasicTaskScheduler0::fHandlers
protected

Definition at line 115 of file BasicUsageEnvironment0.hh.

◆ fLastHandledSocketNum

int BasicTaskScheduler0::fLastHandledSocketNum
protected

Definition at line 116 of file BasicUsageEnvironment0.hh.

◆ fLastUsedTriggerMask

u_int32_t BasicTaskScheduler0::fLastUsedTriggerMask
protected

Definition at line 124 of file BasicUsageEnvironment0.hh.

◆ fLastUsedTriggerNum

unsigned BasicTaskScheduler0::fLastUsedTriggerNum
protected

Definition at line 127 of file BasicUsageEnvironment0.hh.

◆ fTokenCounter

intptr_t BasicTaskScheduler0::fTokenCounter
protected

Definition at line 111 of file BasicUsageEnvironment0.hh.

◆ fTriggeredEventClientDatas

void* BasicTaskScheduler0::fTriggeredEventClientDatas[MAX_NUM_EVENT_TRIGGERS]
protected

Definition at line 126 of file BasicUsageEnvironment0.hh.

◆ fTriggeredEventHandlers

TaskFunc* BasicTaskScheduler0::fTriggeredEventHandlers[MAX_NUM_EVENT_TRIGGERS]
protected

Definition at line 125 of file BasicUsageEnvironment0.hh.

◆ fTriggersAwaitingHandling

std::atomic_flag BasicTaskScheduler0::fTriggersAwaitingHandling[MAX_NUM_EVENT_TRIGGERS]
protected

Definition at line 120 of file BasicUsageEnvironment0.hh.


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