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
void turnOnBackgroundReadHandling (int socketNum, BackgroundHandlerProc *handlerProc, void *clientData)
void turnOffBackgroundReadHandling (int socketNum)

Protected Member Functions

 TaskScheduler ()

Detailed Description

Definition at line 98 of file UsageEnvironment.hh.


Member Typedef Documentation

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

Definition at line 121 of file UsageEnvironment.hh.


Constructor & Destructor Documentation

TaskScheduler::~TaskScheduler (  )  [virtual]

Definition at line 37 of file UsageEnvironment.cpp.

00037                               {
00038 }

TaskScheduler::TaskScheduler (  )  [protected]

Definition at line 34 of file UsageEnvironment.cpp.

00034                              {
00035 }


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(), checkForPacketArrival(), checkInterPacketGaps(), continueAfterPLAY(), WAVAudioFileSource::doGetNextFrame(), MP3FileSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), ByteStreamFileSource::doReadFromFile(), SIPClient::invite1(), rescheduleDelayedTask(), RTCPInstance::schedule(), scheduleNextQOSMeasurement(), MultiFramedRTPSink::sendPacketIfNecessary(), and waitUntilSocketIsReadable().

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

Implemented in BasicTaskScheduler0.

Referenced by MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), SIPClient::doInviteStateMachine(), SIPClient::invite1(), RTCPInstance::reschedule(), rescheduleDelayedTask(), shutdown(), MediaSink::stopPlaying(), Medium::~Medium(), and RTSPServer::RTSPClientSession::~RTSPClientSession().

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

Definition at line 40 of file UsageEnvironment.cpp.

References scheduleDelayedTask(), and unscheduleDelayedTask().

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

00042                                                             {
00043   unscheduleDelayedTask(task);
00044   task = scheduleDelayedTask(microseconds, proc, clientData);
00045 }

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

Referenced by RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), disableBackgroundHandling(), RTSPClient::openConnection(), and turnOnBackgroundReadHandling().

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

Definition at line 128 of file UsageEnvironment.hh.

References NULL, and setBackgroundHandling().

Referenced by RTSPClient::connectionHandler1(), RTSPClient::resetTCPSockets(), and turnOffBackgroundReadHandling().

00128 { 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(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), DVVideoStreamFramer::getProfile(), SIPClient::invite1(), main(), AC3AudioStreamParser::readAndSaveAFrame(), and waitUntilSocketIsReadable().

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

Definition at line 140 of file UsageEnvironment.hh.

References setBackgroundHandling(), and SOCKET_READABLE.

Referenced by ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), RTSPOverHTTPServer::HTTPClientConnection::HTTPClientConnection(), SIPClient::invite1(), RTSPServer::RTSPClientSession::RTSPClientSession(), RTSPOverHTTPServer::RTSPOverHTTPServer(), and RTSPServer::RTSPServer().

00140                                                                                                          {
00141     setBackgroundHandling(socketNum, SOCKET_READABLE, handlerProc, clientData);
00142   }

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

Definition at line 143 of file UsageEnvironment.hh.

References disableBackgroundHandling().

Referenced by Socket::changePort(), SocketDescriptor::deregisterRTPInterface(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), SIPClient::invite1(), RTPInterface::stopNetworkReading(), SocketDescriptor::tcpReadHandler1(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPOverHTTPServer::HTTPClientConnection::~HTTPClientConnection(), RTSPServer::RTSPClientSession::~RTSPClientSession(), and RTSPServer::~RTSPServer().

00143 { disableBackgroundHandling(socketNum); }


The documentation for this class was generated from the following files:
Generated on Thu Jul 29 10:16:54 2010 for live by  doxygen 1.5.2