TaskScheduler Class Reference

#include <UsageEnvironment.hh>

Inheritance diagram for TaskScheduler:

Inheritance graph
[legend]

Public Types

typedef void BackgroundHandlerProc (void *clientData, int mask)

Public Member Functions

virtual ~TaskScheduler ()
virtual TaskToken scheduleDelayedTask (int64_t microseconds, TaskFunc *proc, void *clientData)=0
virtual void unscheduleDelayedTask (TaskToken &prevTask)=0
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
virtual void doEventLoop (char *watchVariable=NULL)=0
virtual EventTriggerId createEventTrigger (TaskFunc *eventHandlerProc)=0
virtual void deleteEventTrigger (EventTriggerId eventTriggerId)=0
virtual void triggerEvent (EventTriggerId eventTriggerId, void *clientData=NULL)=0
void turnOnBackgroundReadHandling (int socketNum, BackgroundHandlerProc *handlerProc, void *clientData)
void turnOffBackgroundReadHandling (int socketNum)
virtual void internalError ()

Protected Member Functions

 TaskScheduler ()

Detailed Description

Definition at line 105 of file UsageEnvironment.hh.


Member Typedef Documentation

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

Definition at line 128 of file UsageEnvironment.hh.


Constructor & Destructor Documentation

TaskScheduler::~TaskScheduler (  )  [virtual]

Definition at line 44 of file UsageEnvironment.cpp.

00044                               {
00045 }

TaskScheduler::TaskScheduler (  )  [protected]

Definition at line 41 of file UsageEnvironment.cpp.

00041                              {
00042 }


Member Function Documentation

virtual TaskToken TaskScheduler::scheduleDelayedTask ( int64_t  microseconds,
TaskFunc proc,
void *  clientData 
) [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by BasicUDPSink::afterGettingFrame1(), checkForAuxSDPLine(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), checkForPacketArrival(), checkInterPacketGaps(), continueAfterPLAY(), ProxyRTSPClient::continueAfterSETUP(), T140IdleFilter::doGetNextFrame(), MPEG2TransportStreamMultiplexor::doGetNextFrame(), MP3FileSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), WAVAudioFileSource::doReadFromFile(), ByteStreamFileSource::doReadFromFile(), SIPClient::invite1(), rescheduleDelayedTask(), RTCPInstance::schedule(), ProxyRTSPClient::scheduleDESCRIBECommand(), ProxyRTSPClient::scheduleLivenessCommand(), scheduleNextQOSMeasurement(), MultiFramedRTPSink::sendPacketIfNecessary(), and waitUntilSocketIsReadable().

virtual void TaskScheduler::unscheduleDelayedTask ( TaskToken prevTask  )  [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by T140IdleFilter::afterGettingFrame(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), H264VideoFileServerMediaSubsession::afterPlayingDummy1(), ProxyRTSPClient::continueAfterSETUP(), SIPClient::doInviteStateMachine(), T140IdleFilter::doStopGettingFrames(), MultiFramedRTPSource::doStopGettingFrames(), FramedSource::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), SIPClient::invite1(), T140IdleFilter::onSourceClosure(), RTCPInstance::reschedule(), rescheduleDelayedTask(), ProxyRTSPClient::reset(), sessionAfterPlaying(), shutdown(), MediaSink::stopPlaying(), Medium::~Medium(), RTSPServer::RTSPClientSession::~RTSPClientSession(), StreamClientState::~StreamClientState(), and T140IdleFilter::~T140IdleFilter().

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

Definition at line 47 of file UsageEnvironment.cpp.

References scheduleDelayedTask(), and unscheduleDelayedTask().

Referenced by RTSPServer::RTSPClientSession::noteLiveness().

00049                                                             {
00050   unscheduleDelayedTask(task);
00051   task = scheduleDelayedTask(microseconds, proc, clientData);
00052 }

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

Referenced by RTSPServer::RTSPClientConnection::changeClientInputSocket(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), disableBackgroundHandling(), RTSPServer::RTSPClientConnection::handleAlternativeRequestByte1(), RTSPClient::handleAlternativeRequestByte1(), RTSPClient::openConnection(), TCPStreamSink::processBuffer(), RTSPServer::RTSPClientConnection::RTSPClientConnection(), and turnOnBackgroundReadHandling().

void TaskScheduler::disableBackgroundHandling ( int  socketNum  )  [inline]

Definition at line 135 of file UsageEnvironment.hh.

References NULL, and setBackgroundHandling().

Referenced by RTSPServer::RTSPClientConnection::changeClientInputSocket(), RTSPServer::RTSPClientConnection::closeSockets(), RTSPClient::connectionHandler1(), RTSPClient::resetTCPSockets(), TCPStreamSink::socketWritableHandler1(), and turnOffBackgroundReadHandling().

00135 { setBackgroundHandling(socketNum, 0, NULL, NULL); }

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

Implemented in BasicTaskScheduler.

Referenced by Socket::changePort().

virtual void TaskScheduler::doEventLoop ( char *  watchVariable = NULL  )  [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by awaitConfigInfo(), createNewSMS(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), H264VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), DVVideoStreamFramer::getProfile(), SIPClient::invite1(), main(), AC3AudioStreamParser::readAndSaveAFrame(), DarwinInjector::setDestination(), and waitUntilSocketIsReadable().

virtual EventTriggerId TaskScheduler::createEventTrigger ( TaskFunc eventHandlerProc  )  [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by DeviceSource::DeviceSource().

virtual void TaskScheduler::deleteEventTrigger ( EventTriggerId  eventTriggerId  )  [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by DeviceSource::~DeviceSource().

virtual void TaskScheduler::triggerEvent ( EventTriggerId  eventTriggerId,
void *  clientData = NULL 
) [pure virtual]

Implemented in BasicTaskScheduler0.

Referenced by signalNewFrameData().

void TaskScheduler::turnOnBackgroundReadHandling ( int  socketNum,
BackgroundHandlerProc handlerProc,
void *  clientData 
) [inline]

Definition at line 155 of file UsageEnvironment.hh.

References setBackgroundHandling(), and SOCKET_READABLE.

Referenced by WAVAudioFileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), SIPClient::invite1(), RTSPServer::RTSPServer(), and RTSPServer::setUpTunnelingOverHTTP().

00155                                                                                                          {
00156     setBackgroundHandling(socketNum, SOCKET_READABLE, handlerProc, clientData);
00157   }

void TaskScheduler::turnOffBackgroundReadHandling ( int  socketNum  )  [inline]

Definition at line 158 of file UsageEnvironment.hh.

References disableBackgroundHandling().

Referenced by RTCPInstance::addStreamSocket(), Socket::changePort(), WAVAudioFileSource::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SIPClient::invite1(), RTPInterface::stopNetworkReading(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPServer::~RTSPServer(), SocketDescriptor::~SocketDescriptor(), and WAVAudioFileSource::~WAVAudioFileSource().

00158 { disableBackgroundHandling(socketNum); }

void TaskScheduler::internalError (  )  [virtual]

Definition at line 55 of file UsageEnvironment.cpp.

Referenced by BasicTaskScheduler::SingleStep().

00055                                   {
00056   abort();
00057 }


The documentation for this class was generated from the following files:
Generated on Mon Apr 29 13:32:43 2013 for live by  doxygen 1.5.2