ns3::UdpEchoClient Class Reference
[UdpEcho]

A Udp Echo client. More...

#include <udp-echo-client.h>

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

List of all members.

Public Member Functions

 UdpEchoClient ()
virtual ~UdpEchoClient ()
void SetRemote (Ipv4Address ip, uint16_t port)

Static Public Member Functions

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

Protected Member Functions

virtual void DoDispose (void)

Private Member Functions

virtual void StartApplication (void)
 Application specific startup code.
virtual void StopApplication (void)
 Application specific shutdown code.
void ScheduleTransmit (Time dt)
void Send (void)
void HandleRead (Ptr< Socket > socket)

Private Attributes

uint32_t m_count
Time m_interval
uint32_t m_size
uint32_t m_sent
Ptr< Socketm_socket
Ipv4Address m_peerAddress
uint16_t m_peerPort
EventId m_sendEvent

Detailed Description

A Udp Echo client.

Every packet sent should be returned by the server and received here.

Definition at line 38 of file udp-echo-client.h.


Constructor & Destructor Documentation

ns3::UdpEchoClient::UdpEchoClient (  ) 

Definition at line 67 of file udp-echo-client.cc.

References m_sendEvent, m_sent, m_socket, and NS_LOG_FUNCTION_NOARGS.

ns3::UdpEchoClient::~UdpEchoClient (  )  [virtual]

Definition at line 75 of file udp-echo-client.cc.

References NS_LOG_FUNCTION_NOARGS.


Member Function Documentation

void ns3::UdpEchoClient::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.

Reimplemented from ns3::Application.

Definition at line 88 of file udp-echo-client.cc.

References NS_LOG_FUNCTION_NOARGS.

TypeId ns3::UdpEchoClient::GetTypeId ( void   )  [static]

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

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

  • /NodeList/[i]/ApplicationList/[i]/$ns3UdpEchoClient

Attributes defined for this type:

  • MaxPackets: The maximum number of packets the application will send
  • Interval: The time to wait between packets
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 1000000000ns
    • Flags: construct write read
  • RemoteAddress: The destination Ipv4Address of the outbound packets
  • RemotePort: The destination port of the outbound packets
  • PacketSize: Size of packets generated

No TraceSources defined for this type.

Reimplemented from ns3::Application.

Definition at line 34 of file udp-echo-client.cc.

References ns3::TypeId::AddAttribute(), m_count, m_interval, m_peerAddress, m_peerPort, m_size, ns3::Seconds(), and ns3::TypeId::SetParent().

void ns3::UdpEchoClient::HandleRead ( Ptr< Socket socket  )  [private]
void ns3::UdpEchoClient::ScheduleTransmit ( Time  dt  )  [private]

Definition at line 126 of file udp-echo-client.cc.

References m_sendEvent, NS_LOG_FUNCTION_NOARGS, ns3::Simulator::Schedule(), and Send().

Referenced by Send(), and StartApplication().

void ns3::UdpEchoClient::Send ( void   )  [private]
void ns3::UdpEchoClient::SetRemote ( Ipv4Address  ip,
uint16_t  port 
)

Definition at line 81 of file udp-echo-client.cc.

References m_peerAddress, and m_peerPort.

void ns3::UdpEchoClient::StartApplication ( void   )  [private, virtual]

Application specific startup code.

The StartApplication method is called at the start time specifed by Start This method should be overridden by all or most application subclasses.

Reimplemented from ns3::Application.

Definition at line 95 of file udp-echo-client.cc.

References ns3::Socket::CreateSocket(), ns3::Application::GetNode(), HandleRead(), ns3::TypeId::LookupByName(), m_peerAddress, m_peerPort, m_socket, ns3::MakeCallback(), NS_LOG_FUNCTION_NOARGS, ScheduleTransmit(), and ns3::Seconds().

void ns3::UdpEchoClient::StopApplication ( void   )  [private, virtual]

Application specific shutdown code.

The StopApplication method is called at the stop time specifed by Stop This method should be overridden by all or most application subclasses.

Reimplemented from ns3::Application.

Definition at line 113 of file udp-echo-client.cc.

References ns3::Simulator::Cancel(), m_sendEvent, m_socket, ns3::MakeNullCallback(), and NS_LOG_FUNCTION_NOARGS.


Member Data Documentation

uint32_t ns3::UdpEchoClient::m_count [private]

The reference count for this object. Each aggregate has an individual reference count. When the global reference count (the sum of all reference counts) reaches zero, the object and all its aggregates is deleted.

Reimplemented from ns3::Object.

Definition at line 62 of file udp-echo-client.h.

Referenced by GetTypeId(), and Send().

Definition at line 63 of file udp-echo-client.h.

Referenced by GetTypeId(), and Send().

Definition at line 68 of file udp-echo-client.h.

Referenced by GetTypeId(), Send(), SetRemote(), and StartApplication().

uint16_t ns3::UdpEchoClient::m_peerPort [private]

Definition at line 69 of file udp-echo-client.h.

Referenced by GetTypeId(), SetRemote(), and StartApplication().

Definition at line 70 of file udp-echo-client.h.

Referenced by ScheduleTransmit(), Send(), StopApplication(), and UdpEchoClient().

uint32_t ns3::UdpEchoClient::m_sent [private]

Definition at line 66 of file udp-echo-client.h.

Referenced by Send(), and UdpEchoClient().

uint32_t ns3::UdpEchoClient::m_size [private]

Definition at line 64 of file udp-echo-client.h.

Referenced by GetTypeId(), and Send().

Definition at line 67 of file udp-echo-client.h.

Referenced by Send(), StartApplication(), StopApplication(), and UdpEchoClient().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:09:54 2009 for NS-3 by  doxygen 1.6.3