A Udp Echo client. More...
#include <udp-echo-client.h>
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< Socket > | m_socket |
Ipv4Address | m_peerAddress |
uint16_t | m_peerPort |
EventId | m_sendEvent |
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.
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.
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:
Attributes defined for this type:
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().
Definition at line 152 of file udp-echo-client.cc.
References ns3::InetSocketAddress::ConvertFrom(), ns3::InetSocketAddress::GetIpv4(), ns3::InetSocketAddress::IsMatchingType(), NS_LOG_FUNCTION, and NS_LOG_INFO.
Referenced by StartApplication().
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] |
Definition at line 133 of file udp-echo-client.cc.
References ns3::EventId::IsExpired(), m_count, m_interval, m_peerAddress, m_sendEvent, m_sent, m_size, m_socket, NS_ASSERT, NS_LOG_FUNCTION_NOARGS, NS_LOG_INFO, and ScheduleTransmit().
Referenced by ScheduleTransmit().
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.
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().
Time ns3::UdpEchoClient::m_interval [private] |
Definition at line 63 of file udp-echo-client.h.
Referenced by GetTypeId(), and Send().
Ipv4Address ns3::UdpEchoClient::m_peerAddress [private] |
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().
EventId ns3::UdpEchoClient::m_sendEvent [private] |
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().
Ptr<Socket> ns3::UdpEchoClient::m_socket [private] |
Definition at line 67 of file udp-echo-client.h.
Referenced by Send(), StartApplication(), StopApplication(), and UdpEchoClient().