live
RTPInterface Class Reference

#include <RTPInterface.hh>

Collaboration diagram for RTPInterface:

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 *packetpacket, 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 *packetpacket, 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 )

References gs().

◆ ~RTPInterface()

virtual RTPInterface::~RTPInterface ( )
virtual

Member Function Documentation

◆ addStreamSocket()

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

◆ clearServerRequestAlternativeByteHandler()

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

◆ 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()

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 ( )

◆ SocketDescriptor

friend class SocketDescriptor
friend

Definition at line 99 of file RTPInterface.hh.

References SocketDescriptor.

Referenced by SocketDescriptor.

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: