A Discrete-Event Network Simulator
API
Applications

This section documents the API of the ns-3 applications module. More...

+ Collaboration diagram for Applications:

Modules

 BulkSendApplication
 This traffic generator simply sends data as fast as possible up to MaxBytes or until the application is stopped (if MaxBytes is zero).
 
 OnOffApplication
 This traffic generator follows an On/Off pattern: after Application::StartApplication is called, "On" and "Off" states alternate.
 
 PacketSink
 This application was written to complement OnOffApplication, but it is more general so a PacketSink name was selected.
 
 ThreeGppHttpClientServer
 This traffic generator simulates web browsing traffic using the Hypertext Transfer Protocol (HTTP).
 
 UdpClientServer
 
 UdpEcho
 
 applications module tests
 

Classes

class  ns3::SeqTsEchoHeader
 Packet header to carry sequence number and two timestamps. More...
 
class  ns3::SeqTsHeader
 Packet header to carry sequence number and timestamp. More...
 
class  ns3::SeqTsSizeHeader
 Header with a sequence, a timestamp, and a "size" attribute. More...
 
class  ns3::ThreeGppHttpClientHelper
 Helper to make it easier to instantiate an ThreeGppHttpClient on a set of nodes. More...
 

Detailed Description

This section documents the API of the ns-3 applications module.

Class ns3::Application can be used as a base class for ns3 applications.

For a generic functional description, please refer to the ns-3 manual.

Applications are associated with individual nodes. Each node holds a list of references (smart pointers) to its applications.

Conceptually, an application has zero or more ns3::Socket objects associated with it, that are created using the Socket creation API of the Kernel capability. The Socket object API is modeled after the well-known BSD sockets interface, although it is somewhat simplified for use with ns3. Further, any socket call that would normally "block" in normal sockets will return immediately in ns3. A set of "upcalls" are defined that will be called when the previous blocking call would normally exit. THis is documented in more detail Socket class in socket.h.

The main purpose of the base class application public API is to provide a uniform way to start and stop applications.