Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions

ns3::UdpTraceClient Class Reference
[UdpClientServer]

A trace based streamer. More...

#include <udp-trace-client.h>

Inheritance diagram for ns3::UdpTraceClient:
Inheritance graph
[legend]
Collaboration diagram for ns3::UdpTraceClient:
Collaboration graph
[legend]

List of all members.

Classes

struct  TraceEntry

Public Member Functions

 UdpTraceClient ()
 creates a traceBasedStreamer application
 UdpTraceClient (Ipv4Address ip, uint16_t port, char *traceFile)
 creates a traceBasedStreamer application
void SetRemote (Ipv4Address ip, uint16_t port)
 set the destination IP address and port
void SetTraceFile (std::string filename)
 set the trace file to be used by the application
uint16_t GetMaxPacketSize (void)
void SetMaxPacketSize (uint16_t maxPacketSize)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::UdpTraceClient.

Protected Member Functions

virtual void DoDispose (void)

Detailed Description

A trace based streamer.

sends udp packets based on a trace file of an MPEG4 stream trace files could be downloaded form : http://www.tkn.tu-berlin.de/research/trace/ltvt.html (the 2 first lines of the file should be removed) A valid trace file is a file with 4 columns: -1- the first one represents the frame index -2- the second one indicates the type of the frame: I, P or B -3- the third one indicates the time on which the frame was generated by the encoder -4- the fourth one indicates the frame size in byte if no valid MPEG4 trace file is provided to the application the trace from g_defaultEntries array will be loaded.


Constructor & Destructor Documentation

ns3::UdpTraceClient::UdpTraceClient ( Ipv4Address  ip,
uint16_t  port,
char *  traceFile 
)

creates a traceBasedStreamer application

Parameters:
ip the destination ip address to which the stream will be sent
port the destination udp port to which the stream will be sent
traceFile a path to an MPEG4 trace file formatted as follows: FrameNo Frametype Time[ms] Length [byte] FrameNo Frametype Time[ms] Length [byte] ...

Member Function Documentation

virtual void ns3::UdpTraceClient::DoDispose ( void   )  [protected, virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Application.

uint16_t ns3::UdpTraceClient::GetMaxPacketSize ( void   ) 
Returns:
the maximum packet size
static TypeId ns3::UdpTraceClient::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::UdpTraceClient.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/ApplicationList/[i]/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::Application/$ns3::UdpTraceClient
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::UdpTraceClient

Attributes defined for this type:

  • RemoteAddress: The destination Ipv4Address of the outbound packets
  • RemotePort: The destination port of the outbound packets
  • MaxPacketSize: The maximum size of a packet.
  • TraceFilename: Name of file to load a trace from. By default, uses a hardcoded trace.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value:
    • Flags: construct write

Attributes defined in parent class ns3::Application:

  • StartTime: Time at which the application will start
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 0ns
    • Flags: construct write read
  • StopTime: Time at which the application will stop
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 0ns
    • Flags: construct write read

No TraceSources defined for this type.

Reimplemented from ns3::Application.

void ns3::UdpTraceClient::SetMaxPacketSize ( uint16_t  maxPacketSize  ) 
Parameters:
maxPacketSize The maximum packet size
void ns3::UdpTraceClient::SetRemote ( Ipv4Address  ip,
uint16_t  port 
)

set the destination IP address and port

Parameters:
ip the destination ip address to which the stream will be sent
port the destination udp port to which the stream will be sent
void ns3::UdpTraceClient::SetTraceFile ( std::string  filename  ) 

set the trace file to be used by the application

Parameters:
filename a path to an MPEG4 trace file formatted as follows: Frame No Frametype Time[ms] Length [byte] Frame No Frametype Time[ms] Length [byte] ...

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