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, TLSState *tlsState)
 
void addStreamSocket (int sockNum, unsigned char streamChannelId, TLSState *tlsState)
 
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, TLSState *tlsState)
 
Boolean sendDataOverTCP (int socketNum, TLSState *tlsState, u_int8_t const *data, unsigned dataSize, Boolean forceSendToSucceed)
 

Private Attributes

MediumfOwner
 
GroupsockfGS
 
class tcpStreamRecord * fTCPStreams
 
unsigned short fNextTCPReadSize
 
int fNextTCPReadStreamSocketNum
 
unsigned char fNextTCPReadStreamChannelId
 
TLSStatefNextTCPReadTLSState
 
TaskScheduler::BackgroundHandlerProcfReadHandlerProc
 
AuxHandlerFuncfAuxReadHandlerFunc
 
void * fAuxReadHandlerClientData
 

Friends

class SocketDescriptor
 

Detailed Description

Definition at line 46 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,
TLSState tlsState 
)

◆ clearServerRequestAlternativeByteHandler()

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

◆ envir()

UsageEnvironment & RTPInterface::envir ( ) const
inline

Definition at line 77 of file RTPInterface.hh.

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

References Medium::envir(), and fOwner.

◆ forgetOurGroupsock()

void RTPInterface::forgetOurGroupsock ( )
inline

Definition at line 85 of file RTPInterface.hh.

85{ fGS = NULL; }
#define NULL
Groupsock * fGS

References fGS, and NULL.

◆ gs()

Groupsock * RTPInterface::gs ( ) const
inline

Definition at line 51 of file RTPInterface.hh.

51{ return fGS; }

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,
TLSState tlsState,
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,
TLSState tlsState 
)
private

◆ setAuxilliaryReadHandler()

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

Definition at line 79 of file RTPInterface.hh.

80 {
81 fAuxReadHandlerFunc = handlerFunc;
82 fAuxReadHandlerClientData = handlerClientData;
83 }
AuxHandlerFunc * fAuxReadHandlerFunc
void * fAuxReadHandlerClientData

References fAuxReadHandlerClientData, and fAuxReadHandlerFunc.

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

◆ setServerRequestAlternativeByteHandler()

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

◆ setStreamSocket()

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

◆ startNetworkReading()

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

◆ stopNetworkReading()

void RTPInterface::stopNetworkReading ( )

Friends And Related Function Documentation

◆ SocketDescriptor

friend class SocketDescriptor
friend

Definition at line 99 of file RTPInterface.hh.

Field Documentation

◆ fAuxReadHandlerClientData

void* RTPInterface::fAuxReadHandlerClientData
private

Definition at line 112 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

◆ fAuxReadHandlerFunc

AuxHandlerFunc* RTPInterface::fAuxReadHandlerFunc
private

Definition at line 111 of file RTPInterface.hh.

Referenced by setAuxilliaryReadHandler().

◆ fGS

Groupsock* RTPInterface::fGS
private

Definition at line 101 of file RTPInterface.hh.

Referenced by forgetOurGroupsock(), and gs().

◆ fNextTCPReadSize

unsigned short RTPInterface::fNextTCPReadSize
private

Definition at line 104 of file RTPInterface.hh.

◆ fNextTCPReadStreamChannelId

unsigned char RTPInterface::fNextTCPReadStreamChannelId
private

Definition at line 107 of file RTPInterface.hh.

◆ fNextTCPReadStreamSocketNum

int RTPInterface::fNextTCPReadStreamSocketNum
private

Definition at line 106 of file RTPInterface.hh.

◆ fNextTCPReadTLSState

TLSState* RTPInterface::fNextTCPReadTLSState
private

Definition at line 108 of file RTPInterface.hh.

◆ fOwner

Medium* RTPInterface::fOwner
private

Definition at line 100 of file RTPInterface.hh.

Referenced by envir().

◆ fReadHandlerProc

TaskScheduler::BackgroundHandlerProc* RTPInterface::fReadHandlerProc
private

Definition at line 109 of file RTPInterface.hh.

◆ fTCPStreams

class tcpStreamRecord* RTPInterface::fTCPStreams
private

Definition at line 102 of file RTPInterface.hh.


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