WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Extensions du simulateur Omnet++ pour la validation de mécanismes de transmission multimédia dans les réseaux IEEE 802.11

( Télécharger le fichier original )
par Ahmed Ayadi
Ecole Nationale des Sciences de l'Informatique - Ingénieur informatique 2007
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.3.3. La classe RTPParticipantInfo

C'est est une classe abstraite. Elle permet d'enregistrer les informations des participants d'une session comme CNAME, les numéros de port RTP et RTCP. Deux autres classes sont dérivées de cette classe qui sont RTPSenderInfo et RTPReceiverInfo.

RTPParticipantInfo

- _sdesChunk

- _address - _rtpPort - _rtcpPort - _silentIntervals

: SDESChunk *

: IN_Addr : IN_Port : IN_Port : int

+ RTPParticipantInfo (u_int32 ssrc)

+ processRTPPacket (RTPPacket * packet, simtime_t arrivalTime) : void

+ processSenderReport (SenderReport * report, simtime_t arrivalTime) : void

+ processReceptionReport (ReceptionReport report, simti me_t arrivalTime) : void

+ processSDESChunk (SDESChunk * sdesChunk, simtime_t arrivalTi me) : void

+ sdesChunk () : SDESChunk *

+ addSDESItem (SDESItem * sdesItem) : void

+ receptionReport (simtime_t now) : ReceptionReport *

+ senderReport (simtime_t now) : SenderReport *

+ nextInterval (simtime_t now) : void

+ toBeDeleted (simtime_t now) : bool

+ isSender () : bool

+ ssrc () : u_i nt32

+ setSSRC (u_int32 ssrc) : void

+ address () : IN_Addr

+ setAddress (IN_Addr address) : void

+ rctpPort () : IN_Port

+ rtpPort () : IN_Port

+ setRTPPort (IN_Port rtpPort) : void

+ setRTCPPort (IN_Port rtpPort) : void

+ ssrcToName (i u_i nt32 nt ssrc) : char *

+ writeContents() () : void

Figure 3.23 La classe RTPPaticipantInfo 2.3.4. La classe RTPProfile

Cette classe est créée par le module RTPEndSystemModule. Elle permet de créer RTPPayloadSender or RTPPayloadReceiver. Elle reçoit les paquets RTP générés par RTPPayloadSender et les envoie au Module RTPEndSystemModule. Elle permet aussi d'envoyer les paquets RTP reçus de RTPEndSystemModule vers RTPPaylodsReceiver.

- _profileName

- _maxReceivers

- _ssrcGates

- _rtcpPercentage

- _preferredPort

- _mtu

- _autoOutputFileNames

: const char * : int

: cArray

: int

: IN_Port

: int

: bool

+ initialize() ()

+ handleMessage (cMessage * msg)

+ handleMessageFromRTP (cMessage * msg)

+ handleMessageFromPayloadSender (cMessage * msg) + handleMessageFromPayloadReceiver (cMessage * msg) + initializeProfile (RTPInnerPacket * rinp)

+ createSenderModule (RTPInnerPacket * rinp) + deleteSenderModule (RTPInnerPacket * rinp) + senderModuleControl (RTPInnerPacket * rinp) + dataIn (RTPInnerPacket * rinp)

+ senderModuleInitial ized (RTPInnerPacket * rinp) + senderModuleStatus (RTPInnerPacket * rinp)

+ dataOut (RTPInnerPacket * rinp)

+ processIncomingPacket (RTPInnerPacket * rinp) + processOutgoingPacket (RTPInnerPacket * rinp) + findSSRCGate ()

+ newSSRCGate ()

: void : void : void : void : void : void : void : void : void : void : void : void : void : void : void

: RTPSSRCGate * : RTPSSRCGate *

RTPProfile

2.3.5. La classe RTPPayloadSender

RTPPayloadSender permet de construire les paquets RTP à partir d'un fichier vidéo lors d'une session. Elle parcourt le fichier et construit les paquets RTP. En tenant compte de la valeur MTU, elle fragmente les trames vidéo en plusieurs trames RTP.

RTPPayloadSender

# _inputFileStream # _mtu

# _ssrc

# _payloadType

# _clockRate

# _timeStampBase # _timeStamp

# _sequenceNumberBase # _sequenceNumber

# _status

# _reminderMessage

: std::ifstream

: int

: u_i nt32 : int

: int

: u_i nt32 : u_i nt32 : u_i nt16 : u_i nt16

: SenderStatus : cMessage *

+ RTPPayloadSender () + ~RTPPayloadSender ()

+ initialize () : void

+ activity () : void

# initializeSenderModule ( RTPInnerPacket *) : void

# openSourceFile (const char * fileName) : void

# closeSourceFile () : void

# play () : void

# playUntilTime (simtime_t moment) : void

# playUntilByte (int position) : void

# pause () : void

# eekTime (simtime_t moment) : void

# seekByte (int position) : void

# stop () : void

# endOfFile () : void

# sendPacket () : bool

Figure 3.25 La classe RTPPayloadSender 2.3.6. La classe RTPPayloadReceiver

La classe RTPPayloadReceiver reçoit les paquets à partir du module RTPProfile. Elle construit le fichier vidéo à partir des paquets RTP reçues.

RTPPayloadReceiver

+ ~RTPPayloadReceiver ()

+ initialize () : void

+ handleMessage (cMessage * msg) : void

# processPacket (RTPPacket * packet) : void

# openOutputFile (const char * fileName) : void
# closeOutputFile () : void

 

Figure 3.26 La classe RTPPayloadReceiver

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo