live
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
RTPInterface Class Reference

#include <RTPInterface.hh>

Collaboration diagram for RTPInterface:
Collaboration graph
[legend]

Public Member Functions

 RTPInterface (Medium *owner, Groupsock *gs)
 
virtual ~RTPInterface ()
 
Groupsockgs () const
 
void setStreamSocket (int sockNum, unsigned char streamChannelId)
 
void addStreamSocket (int sockNum, unsigned char streamChannelId)
 
void removeStreamSocket (int sockNum, unsigned char streamChannelId)
 
Boolean sendPacket (unsigned char *packet, unsigned packetSize)
 
void startNetworkReading (TaskScheduler::BackgroundHandlerProc *handlerProc)
 
Boolean handleRead (unsigned char *buffer, unsigned bufferMaxSize, unsigned &bytesRead, struct sockaddr_in &fromAddress, int &tcpSocketNum, unsigned char &tcpStreamChannelId, Boolean &packetReadWasIncomplete)
 
void stopNetworkReading ()
 
UsageEnvironmentenvir () const
 
void setAuxilliaryReadHandler (AuxHandlerFunc *handlerFunc, void *handlerClientData)
 
void forgetOurGroupsock ()
 

Static Public Member Functions

static void setServerRequestAlternativeByteHandler (UsageEnvironment &env, int socketNum, ServerRequestAlternativeByteHandler *handler, void *clientData)
 
static void clearServerRequestAlternativeByteHandler (UsageEnvironment &env, int socketNum)
 

Private Member Functions

Boolean sendRTPorRTCPPacketOverTCP (unsigned char *packet, unsigned packetSize, int socketNum, unsigned char streamChannelId)
 
Boolean sendDataOverTCP (int socketNum, u_int8_t const *data, unsigned dataSize, Boolean forceSendToSucceed)
 

Private Attributes

MediumfOwner
 
GroupsockfGS
 
tcpStreamRecordfTCPStreams
 
unsigned short fNextTCPReadSize
 
int fNextTCPReadStreamSocketNum
 
unsigned char fNextTCPReadStreamChannelId
 
TaskScheduler::BackgroundHandlerProcfReadHandlerProc
 
AuxHandlerFuncfAuxReadHandlerFunc
 
void * fAuxReadHandlerClientData
 

Friends

class SocketDescriptor
 

Detailed Description

Definition at line 55 of file RTPInterface.hh.

Constructor & Destructor Documentation

RTPInterface::RTPInterface ( Medium owner,
Groupsock gs 
)
virtual RTPInterface::~RTPInterface ( )
virtual

Member Function Documentation

void RTPInterface::addStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)
static void RTPInterface::clearServerRequestAlternativeByteHandler ( UsageEnvironment env,
int  socketNum 
)
static
UsageEnvironment& RTPInterface::envir ( ) const
inline

Definition at line 86 of file RTPInterface.hh.

References Medium::envir(), and fOwner.

86 { return fOwner->envir(); }
UsageEnvironment & envir() const
Definition: Media.hh:59
Medium * fOwner
void RTPInterface::forgetOurGroupsock ( )
inline

Definition at line 94 of file RTPInterface.hh.

References fGS, and NULL.

94 { fGS = NULL; }
Groupsock * fGS
#define NULL
Groupsock* RTPInterface::gs ( ) const
inline

Definition at line 60 of file RTPInterface.hh.

References fGS.

Referenced by RTPSink::groupsockBeingUsed(), RTCPInstance::RTCPgs(), and RTPSource::RTPgs().

60 { return fGS; }
Groupsock * fGS
Boolean RTPInterface::handleRead ( unsigned char *  buffer,
unsigned  bufferMaxSize,
unsigned &  bytesRead,
struct sockaddr_in &  fromAddress,
int &  tcpSocketNum,
unsigned char &  tcpStreamChannelId,
Boolean packetReadWasIncomplete 
)
void RTPInterface::removeStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)
Boolean RTPInterface::sendDataOverTCP ( int  socketNum,
u_int8_t const *  data,
unsigned  dataSize,
Boolean  forceSendToSucceed 
)
private
Boolean RTPInterface::sendPacket ( unsigned char *  packet,
unsigned  packetSize 
)
Boolean RTPInterface::sendRTPorRTCPPacketOverTCP ( unsigned char *  packet,
unsigned  packetSize,
int  socketNum,
unsigned char  streamChannelId 
)
private
void RTPInterface::setAuxilliaryReadHandler ( AuxHandlerFunc handlerFunc,
void *  handlerClientData 
)
inline

Definition at line 88 of file RTPInterface.hh.

References fAuxReadHandlerClientData, and fAuxReadHandlerFunc.

Referenced by RTPSource::setAuxilliaryReadHandler(), and RTCPInstance::setAuxilliaryReadHandler().

89  {
90  fAuxReadHandlerFunc = handlerFunc;
91  fAuxReadHandlerClientData = handlerClientData;
92  }
AuxHandlerFunc * fAuxReadHandlerFunc
void * fAuxReadHandlerClientData
static void RTPInterface::setServerRequestAlternativeByteHandler ( UsageEnvironment env,
int  socketNum,
ServerRequestAlternativeByteHandler handler,
void *  clientData 
)
static
void RTPInterface::setStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)
void RTPInterface::startNetworkReading ( TaskScheduler::BackgroundHandlerProc handlerProc)
void RTPInterface::stopNetworkReading ( )

Friends And Related Function Documentation

friend class SocketDescriptor
friend

Definition at line 106 of file RTPInterface.hh.

Field Documentation

void* RTPInterface::fAuxReadHandlerClientData
private

Definition at line 118 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

AuxHandlerFunc* RTPInterface::fAuxReadHandlerFunc
private

Definition at line 117 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

Groupsock* RTPInterface::fGS
private

Definition at line 108 of file RTPInterface.hh.

Referenced by forgetOurGroupsock(), and gs().

unsigned short RTPInterface::fNextTCPReadSize
private

Definition at line 111 of file RTPInterface.hh.

unsigned char RTPInterface::fNextTCPReadStreamChannelId
private

Definition at line 114 of file RTPInterface.hh.

int RTPInterface::fNextTCPReadStreamSocketNum
private

Definition at line 113 of file RTPInterface.hh.

Medium* RTPInterface::fOwner
private

Definition at line 107 of file RTPInterface.hh.

Referenced by envir().

TaskScheduler::BackgroundHandlerProc* RTPInterface::fReadHandlerProc
private

Definition at line 115 of file RTPInterface.hh.

tcpStreamRecord* RTPInterface::fTCPStreams
private

Definition at line 109 of file RTPInterface.hh.


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