2.3.1. La classe RTPEndSystemModel
Cette classe représente le module RTP. Cette classe
reçoit des messages de commandes (ouvrir une session, démarrer la
transmission des données, quitter une session etc.) du module
RTPApplication. Elle ouvre une socket UDP au début d'une session,
crée un RTPProfile et l'initialise. Au cours d'une session, elle
décapsule les paquets RTP reçus de la couche UDP et les envoie au
module RTPProfile et RTCPEndModule. À la fin de la session, elle ferme
la socket et supprime le module RTPProfile qu'elle a créé et
informe le module RTCPEndSystemModule d'envoyer un paquet BYE.
RTPEndsystemModule
- _commonName - _profileName
- _bandwidth
- _destinationAddress - _port
- _mtu
- _rtcpPercentage - _socketFdIn
- _socketFdOut
: const char * : const char * : int
: IN_Addr
: IN_Port
: int : int : int : int
+ initialize () : void
+ handleMessage (cMessage * msg) : void
# handleMessageFromProfile (cMessage * msg) : void
# handleMessageFromRTCP (cMessage * msg) : void
# handleMessageFromUDPLayer (cMessage * msg) : void
# handleMessageFromApp (cMessage * msg) : void
# enterSession (RTPInterfacePacket * rifp) : void
# leaveSession (RTPInterfacePacket * rifp) : void
+ deleteSenderModule (RTPInterfacePacket * rifp) : void
+ createSenderModule (RTPInterfacePacket * rifp) : void
+ senderModuleControl (RTPInterfacePacket * rifp) : void
+ profileInitialized (RTPInterfacePacket * rifp) : void
+ senderModuleCreated (RTPInterfacePacket * rifp) : void
+ senderModuleDeleted (RTPInterfacePacket * rifp) : void
+ senderModuleInitialized (RTPInterfacePacket * rifp) : void
+ senderMosenderModuleStatus (RTPInterfacePacket * rifp) :
void
+ dataOut (RTPInterfacePacket * rifp) : void
+ rtcpInitialized (RTPInterfacePacket * rifp) : void
+ sessionLeft (RTPInterfacePacket * rifp) : void
+ createProfi le () : void
+ createServerSocket () : void
+ createClientSocket () : void
+ socketRet () : void
+ connectRet () : void
+ readRet (cMessage * sifp) : void
+ initializeProfile () : void
+ initializeRTCP () : void
+ resolveMTU () : int
Figure 3.21 La classe RTPEndSystemModel
2.3.2. La classe RTCPEndSystemModel
- _bandwidth : int
- _destinationAddress : IN_Addr
- _port : IN_Port
- _mtu : int
- _rtcpPercentage : int
- _socketFdIn : int
- _socketFdOut : int
- _ssrcChosen : bool
- _leaveSession : bool
- _senderInfo : RTPSenderInfo *
- _participantInfos : cArray *
- _packetsCalculated : int
- _averagePacketSize : double
- _rtcpIntervalOutVector : cOutVector *
# initialize ()
# handleMessageFromUDPLayer (cMessage * msg)
# handleMessage (cMessage * msg)
# handleMessageFromRTP (cMessage * msg)
# handleMessageSelfMessge (cMessage * msg)
# initializeRTCP (RTPInnerPacket * rinp)
# senderModuleInitialized (RTPInterfacePacket * rifp)
# dataOut (RTPInterfacePacket * rifp)
# dataIn (RTPInnerPacket * rinp)
# leaveSession (RTPInterfacePacket * rifp)
# connectRet ()
# readRet (cMessage * sifp)
- createServerSocket ()
- createClientSocket ()
- chooseSSRC ()
- scheduleInterval () - createPacket ()
- processOutgoingRTPPacket (RTPPacket * packet)
- processIncomingRTPPacket (RTPPacket * packet, IN_Addr address,
IN_Port port)
- processIncomingRTCPPacket (RTCPCompoundPacket * packet,
IN_Addr address, IN_Port port) - findParticipantInfo (u_i nt32 ssrc)
- cal culateAveragePacketSize (i nt size)
: void : void : void : void : void : void : void : void :
void : void : void : void : void : void : void : void : void : void : void :
void
: RTPPartici pantInfo* : void
Figure 3.22 La classe RTCPEndSystemModel
|