5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::TrafficGenerator3gppGenericVideo Class Reference

#include "traffic-generator-3gpp-generic-video.h"

+ Inheritance diagram for ns3::TrafficGenerator3gppGenericVideo:
+ Collaboration diagram for ns3::TrafficGenerator3gppGenericVideo:

Public Types

enum  LoopbackAlgType {
  ADJUST_IPA_TIME , ADJUST_PACKET_SIZE , ADJUST_PACKET_SIZE_UP_AGG , ADJUST_FPS ,
  WO
}
 Different loopback algorithm types. More...
 
- Public Types inherited from ns3::TrafficGenerator
typedef TracedCallback< Ptr< const Packet > > TxTracedCallback
 Traced Callback: sent packets.
 

Public Member Functions

int64_t AssignStreams (int64_t stream) override
 
TrafficGenerator3gppGenericVideo::LoopbackAlgType GetLoopbackAlgType () const
 
void ReceiveLoopbackInformation (double packetLoss, uint32_t packetReceived, double windowInSeconds, Time packetDelay, Time packetDelayJitter)
 
void SetLoopbackAlgType (LoopbackAlgType loopbackAlgType)
 Set loopback algorithm type.
 
- Public Member Functions inherited from ns3::TrafficGenerator
int64_t AssignStreams (int64_t stream) override
 
Ptr< Socket > GetSocket () const
 Get the socket this application is attached to.
 
uint64_t GetTotalBytes () const
 Get the total number of bytes that have been sent during this object's lifetime.
 
uint64_t GetTotalPackets () const
 Get the total number of packets that have been sent during this object's lifetime.
 
bool SendPacketBurst ()
 Send another packet burst, which can be e.g., a file, or a video frame.
 
void SetPacketSize (uint32_t packetSize)
 Sets the packet size.
 
void SetProtocol (TypeId protocol)
 Sets the protocol.
 
void SetRemote (Address remote)
 Sets the remote address.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::TrafficGenerator
static TypeId GetTypeId ()
 Get the type ID.
 

Protected Types

typedef TracedCallback< Time, uint16_t, double, uint32_t, double, double, Time, Time > ParamsTracedCallback
 Traced Callback Updated traffic parameters after the loopback adaptation.
 

Protected Member Functions

void DoInitialize () override
 
- Protected Member Functions inherited from ns3::TrafficGenerator
void DoDispose () override
 
void DoInitialize () override
 
uint32_t GetPacketBurstSizeInBytes () const
 
uint32_t GetPacketBurstSizeInPackets () const
 
Address GetPeer () const
 
uint16_t GetTgId () const
 
void SetPacketBurstSizeInBytes (uint32_t burstSize)
 
void SetPacketBurstSizeInPackets (uint32_t burstSize)
 
void StopApplication () override
 

Protected Attributes

ParamsTracedCallback m_paramsTrace
 

Additional Inherited Members

- Public Attributes inherited from ns3::TrafficGenerator
TxTracedCallback m_txTrace
 

Detailed Description

This class implements the 3GPP 2 stream traffic model composed of video according to 3GPP TR 38.838 V17.0.0 (2021-12) document, 5.1.1.

Definition at line 21 of file traffic-generator-3gpp-generic-video.h.

Member Typedef Documentation

◆ ParamsTracedCallback

typedef TracedCallback<Time, uint16_t, double, uint32_t, double, double, Time, Time> ns3::TrafficGenerator3gppGenericVideo::ParamsTracedCallback
protected

Traced Callback Updated traffic parameters after the loopback adaptation.

Definition at line 76 of file traffic-generator-3gpp-generic-video.h.

Member Enumeration Documentation

◆ LoopbackAlgType

Different loopback algorithm types.

Definition at line 27 of file traffic-generator-3gpp-generic-video.h.

Constructor & Destructor Documentation

◆ TrafficGenerator3gppGenericVideo()

ns3::TrafficGenerator3gppGenericVideo::TrafficGenerator3gppGenericVideo ( )

Definition at line 196 of file traffic-generator-3gpp-generic-video.cc.

◆ ~TrafficGenerator3gppGenericVideo()

ns3::TrafficGenerator3gppGenericVideo::~TrafficGenerator3gppGenericVideo ( )
override

Definition at line 202 of file traffic-generator-3gpp-generic-video.cc.

Member Function Documentation

◆ AssignStreams()

int64_t ns3::TrafficGenerator3gppGenericVideo::AssignStreams ( int64_t  stream)
override

Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 473 of file traffic-generator-3gpp-generic-video.cc.

◆ DoInitialize()

void ns3::TrafficGenerator3gppGenericVideo::DoInitialize ( )
overrideprotected

Definition at line 291 of file traffic-generator-3gpp-generic-video.cc.

◆ GetLoopbackAlgType()

TrafficGenerator3gppGenericVideo::LoopbackAlgType ns3::TrafficGenerator3gppGenericVideo::GetLoopbackAlgType ( ) const

Definition at line 185 of file traffic-generator-3gpp-generic-video.cc.

◆ GetTypeId()

TypeId ns3::TrafficGenerator3gppGenericVideo::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 25 of file traffic-generator-3gpp-generic-video.cc.

References SetLoopbackAlgType(), ns3::TrafficGenerator::SetProtocol(), and ns3::TrafficGenerator::SetRemote().

+ Here is the call graph for this function:

◆ ReceiveLoopbackInformation()

void ns3::TrafficGenerator3gppGenericVideo::ReceiveLoopbackInformation ( double  packetLoss,
uint32_t  packetReceived,
double  windowInSeconds,
Time  packetDelay,
Time  packetDelayJitter 
)

Definition at line 310 of file traffic-generator-3gpp-generic-video.cc.

◆ SetLoopbackAlgType()

void ns3::TrafficGenerator3gppGenericVideo::SetLoopbackAlgType ( LoopbackAlgType  loopbackAlgType)

Set loopback algorithm type.

Definition at line 191 of file traffic-generator-3gpp-generic-video.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_paramsTrace

ParamsTracedCallback ns3::TrafficGenerator3gppGenericVideo::m_paramsTrace
protected

Definition at line 77 of file traffic-generator-3gpp-generic-video.h.


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