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_storage &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
 
class tcpStreamRecord * fTCPStreams
 
unsigned short fNextTCPReadSize
 
int fNextTCPReadStreamSocketNum
 
unsigned char fNextTCPReadStreamChannelId
 
TaskScheduler::BackgroundHandlerProcfReadHandlerProc
 
AuxHandlerFuncfAuxReadHandlerFunc
 
void * fAuxReadHandlerClientData
 

Friends

class SocketDescriptor
 

Detailed Description

Definition at line 43 of file RTPInterface.hh.

Constructor & Destructor Documentation

◆ RTPInterface()

RTPInterface::RTPInterface ( Medium owner,
Groupsock gs 
)

◆ ~RTPInterface()

virtual RTPInterface::~RTPInterface ( )
virtual

Member Function Documentation

◆ addStreamSocket()

void RTPInterface::addStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)

◆ clearServerRequestAlternativeByteHandler()

static void RTPInterface::clearServerRequestAlternativeByteHandler ( UsageEnvironment env,
int  socketNum 
)
static

◆ envir()

UsageEnvironment& RTPInterface::envir ( ) const
inline

Definition at line 74 of file RTPInterface.hh.

74 { return fOwner->envir(); }
UsageEnvironment & envir() const
Definition: Media.hh:59
Medium * fOwner
Definition: RTPInterface.hh:95

References Medium::envir(), and fOwner.

◆ forgetOurGroupsock()

void RTPInterface::forgetOurGroupsock ( )
inline

Definition at line 82 of file RTPInterface.hh.

82 { fGS = NULL; }
Groupsock * fGS
Definition: RTPInterface.hh:96
#define NULL

References fGS, and NULL.

◆ gs()

Groupsock* RTPInterface::gs ( ) const
inline

Definition at line 48 of file RTPInterface.hh.

48 { return fGS; }
Groupsock * fGS
Definition: RTPInterface.hh:96

References fGS.

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

◆ handleRead()

Boolean RTPInterface::handleRead ( unsigned char *  buffer,
unsigned  bufferMaxSize,
unsigned &  bytesRead,
struct sockaddr_storage &  fromAddress,
int &  tcpSocketNum,
unsigned char &  tcpStreamChannelId,
Boolean packetReadWasIncomplete 
)

◆ removeStreamSocket()

void RTPInterface::removeStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)

◆ sendDataOverTCP()

Boolean RTPInterface::sendDataOverTCP ( int  socketNum,
u_int8_t const *  data,
unsigned  dataSize,
Boolean  forceSendToSucceed 
)
private

◆ sendPacket()

Boolean RTPInterface::sendPacket ( unsigned char *  packet,
unsigned  packetSize 
)

◆ sendRTPorRTCPPacketOverTCP()

Boolean RTPInterface::sendRTPorRTCPPacketOverTCP ( unsigned char *  packet,
unsigned  packetSize,
int  socketNum,
unsigned char  streamChannelId 
)
private

◆ setAuxilliaryReadHandler()

void RTPInterface::setAuxilliaryReadHandler ( AuxHandlerFunc handlerFunc,
void *  handlerClientData 
)
inline

Definition at line 76 of file RTPInterface.hh.

77  {
78  fAuxReadHandlerFunc = handlerFunc;
79  fAuxReadHandlerClientData = handlerClientData;
80  }
AuxHandlerFunc * fAuxReadHandlerFunc
void * fAuxReadHandlerClientData

References fAuxReadHandlerClientData, and fAuxReadHandlerFunc.

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

◆ setServerRequestAlternativeByteHandler()

static void RTPInterface::setServerRequestAlternativeByteHandler ( UsageEnvironment env,
int  socketNum,
ServerRequestAlternativeByteHandler handler,
void *  clientData 
)
static

◆ setStreamSocket()

void RTPInterface::setStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)

◆ startNetworkReading()

void RTPInterface::startNetworkReading ( TaskScheduler::BackgroundHandlerProc handlerProc)

◆ stopNetworkReading()

void RTPInterface::stopNetworkReading ( )

Friends And Related Function Documentation

◆ SocketDescriptor

friend class SocketDescriptor
friend

Definition at line 94 of file RTPInterface.hh.

Field Documentation

◆ fAuxReadHandlerClientData

void* RTPInterface::fAuxReadHandlerClientData
private

Definition at line 106 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

◆ fAuxReadHandlerFunc

AuxHandlerFunc* RTPInterface::fAuxReadHandlerFunc
private

Definition at line 105 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

◆ fGS

Groupsock* RTPInterface::fGS
private

Definition at line 96 of file RTPInterface.hh.

Referenced by forgetOurGroupsock(), and gs().

◆ fNextTCPReadSize

unsigned short RTPInterface::fNextTCPReadSize
private

Definition at line 99 of file RTPInterface.hh.

◆ fNextTCPReadStreamChannelId

unsigned char RTPInterface::fNextTCPReadStreamChannelId
private

Definition at line 102 of file RTPInterface.hh.

◆ fNextTCPReadStreamSocketNum

int RTPInterface::fNextTCPReadStreamSocketNum
private

Definition at line 101 of file RTPInterface.hh.

◆ fOwner

Medium* RTPInterface::fOwner
private

Definition at line 95 of file RTPInterface.hh.

Referenced by envir().

◆ fReadHandlerProc

TaskScheduler::BackgroundHandlerProc* RTPInterface::fReadHandlerProc
private

Definition at line 103 of file RTPInterface.hh.

◆ fTCPStreams

class tcpStreamRecord* RTPInterface::fTCPStreams
private

Definition at line 97 of file RTPInterface.hh.


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