#include <udp-echo-client.h>
Public Member Functions | |
UdpEchoClient () | |
virtual | ~UdpEchoClient () |
uint32_t | GetDataSize (void) const |
void | SetDataSize (uint32_t dataSize) |
void | SetFill (std::string fill) |
void | SetFill (uint8_t fill, uint32_t dataSize) |
void | SetFill (uint8_t *fill, uint32_t fillSize, uint32_t dataSize) |
void | SetRemote (Address ip, uint16_t port) |
void | SetRemote (Ipv4Address ip, uint16_t port) |
void | SetRemote (Ipv6Address ip, uint16_t port) |
![]() | |
Application () | |
virtual | ~Application () |
Ptr< Node > | GetNode () const |
void | SetNode (Ptr< Node > node) |
void | SetStartTime (Time start) |
Specify application start time. | |
void | SetStopTime (Time stop) |
Specify application stop time. | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoDispose (void) |
![]() | |
virtual void | DoInitialize (void) |
![]() | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
Private Member Functions | |
void | HandleRead (Ptr< Socket > socket) |
void | ScheduleTransmit (Time dt) |
void | Send (void) |
virtual void | StartApplication (void) |
virtual void | StopApplication (void) |
Private Attributes | |
uint32_t | m_count |
uint8_t * | m_data |
uint32_t | m_dataSize |
Time | m_interval |
Address | m_peerAddress |
uint16_t | m_peerPort |
EventId | m_sendEvent |
uint32_t | m_sent |
uint32_t | m_size |
Ptr< Socket > | m_socket |
TracedCallback< Ptr< const Packet > > | m_txTrace |
Callbacks for tracing the packet Tx events. |
Additional Inherited Members | |
![]() | |
Ptr< Node > | m_node |
EventId | m_startEvent |
Time | m_startTime |
EventId | m_stopEvent |
Time | m_stopTime |
A Udp Echo client.
Every packet sent should be returned by the server and received here.
ns3::UdpEchoClient is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 39 of file udp-echo-client.h.
ns3::UdpEchoClient::UdpEchoClient | ( | ) |
Definition at line 74 of file udp-echo-client.cc.
References m_data, m_dataSize, m_sendEvent, m_sent, m_socket, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 84 of file udp-echo-client.cc.
References m_data, m_dataSize, m_socket, and NS_LOG_FUNCTION.
|
protectedvirtual |
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.
Definition at line 119 of file udp-echo-client.cc.
References NS_LOG_FUNCTION.
uint32_t ns3::UdpEchoClient::GetDataSize | ( | void | ) | const |
Get the number of data bytes that will be sent to the server.
Definition at line 183 of file udp-echo-client.cc.
References m_size, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
static |
Reimplemented from ns3::Application.
Definition at line 38 of file udp-echo-client.cc.
References GetDataSize(), m_count, m_interval, m_peerAddress, m_peerPort, m_txTrace, ns3::MakeTraceSourceAccessor(), ns3::Seconds(), SetDataSize(), and ns3::TypeId::SetParent().
Referenced by ns3::UdpEchoClientHelper::UdpEchoClientHelper().
Definition at line 332 of file udp-echo-client.cc.
References ns3::InetSocketAddress::ConvertFrom(), ns3::Inet6SocketAddress::ConvertFrom(), ns3::InetSocketAddress::GetIpv4(), ns3::Inet6SocketAddress::GetIpv6(), ns3::InetSocketAddress::GetPort(), ns3::Inet6SocketAddress::GetPort(), ns3::Packet::GetSize(), ns3::InetSocketAddress::IsMatchingType(), ns3::Inet6SocketAddress::IsMatchingType(), ns3::Simulator::Now(), NS_LOG_FUNCTION, NS_LOG_INFO, and ns3::Socket::RecvFrom().
Referenced by StartApplication().
|
private |
Definition at line 270 of file udp-echo-client.cc.
References m_sendEvent, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), and Send().
Referenced by Send(), and StartApplication().
|
private |
Definition at line 277 of file udp-echo-client.cc.
References ns3::Ipv4Address::ConvertFrom(), ns3::Ipv6Address::ConvertFrom(), ns3::EventId::IsExpired(), ns3::Ipv4Address::IsMatchingType(), ns3::Ipv6Address::IsMatchingType(), m_count, m_data, m_dataSize, m_interval, m_peerAddress, m_peerPort, m_sendEvent, m_sent, m_size, m_socket, m_txTrace, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_INFO, ScheduleTransmit(), and ns3::Socket::Send().
Referenced by ScheduleTransmit().
void ns3::UdpEchoClient::SetDataSize | ( | uint32_t | dataSize | ) |
Set the data size of the packet (the number of bytes that are sent as data to the server). The contents of the data are set to unspecified (don't care) by this call.
dataSize | The size of the echo data you want to sent. |
Definition at line 167 of file udp-echo-client.cc.
References m_data, m_dataSize, m_size, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::UdpEchoClient::SetFill | ( | std::string | fill | ) |
Set the data fill of the packet (what is sent as data to the server) to the zero-terminated contents of the fill string string.
fill | The string to use as the actual echo data bytes. |
Definition at line 190 of file udp-echo-client.cc.
References m_data, m_dataSize, m_size, and NS_LOG_FUNCTION.
void ns3::UdpEchoClient::SetFill | ( | uint8_t | fill, |
uint32_t | dataSize | ||
) |
Set the data fill of the packet (what is sent as data to the server) to the repeated contents of the fill byte. i.e., the fill byte will be used to initialize the contents of the data packet.
fill | The byte to be repeated in constructing the packet data.. |
dataSize | The desired size of the resulting echo packet data. |
Definition at line 212 of file udp-echo-client.cc.
References m_data, m_dataSize, m_size, and NS_LOG_FUNCTION.
void ns3::UdpEchoClient::SetFill | ( | uint8_t * | fill, |
uint32_t | fillSize, | ||
uint32_t | dataSize | ||
) |
Set the data fill of the packet (what is sent as data to the server) to the contents of the fill buffer, repeated as many times as is required.
Initializing the packet to the contents of a provided single buffer is accomplished by setting the fillSize set to your desired dataSize (and providing an appropriate buffer).
fill | The fill pattern to use when constructing packets. |
fillSize | The number of bytes in the provided fill pattern. |
dataSize | The desired size of the final echo data. |
Definition at line 231 of file udp-echo-client.cc.
References m_data, m_dataSize, m_size, and NS_LOG_FUNCTION.
void ns3::UdpEchoClient::SetRemote | ( | Address | ip, |
uint16_t | port | ||
) |
ip | destination ipv4 address |
port | destination port |
Definition at line 95 of file udp-echo-client.cc.
References m_peerAddress, m_peerPort, NS_LOG_FUNCTION, and port.
void ns3::UdpEchoClient::SetRemote | ( | Ipv4Address | ip, |
uint16_t | port | ||
) |
Definition at line 103 of file udp-echo-client.cc.
References m_peerAddress, m_peerPort, NS_LOG_FUNCTION, and port.
void ns3::UdpEchoClient::SetRemote | ( | Ipv6Address | ip, |
uint16_t | port | ||
) |
Definition at line 111 of file udp-echo-client.cc.
References m_peerAddress, m_peerPort, NS_LOG_FUNCTION, and port.
|
privatevirtual |
Definition at line 126 of file udp-echo-client.cc.
References ns3::Socket::Bind(), ns3::Socket::Bind6(), ns3::Socket::Connect(), ns3::Ipv4Address::ConvertFrom(), ns3::Ipv6Address::ConvertFrom(), ns3::Socket::CreateSocket(), ns3::Application::GetNode(), HandleRead(), ns3::Ipv4Address::IsMatchingType(), ns3::Ipv6Address::IsMatchingType(), ns3::TypeId::LookupByName(), m_peerAddress, m_peerPort, m_socket, ns3::MakeCallback(), NS_LOG_FUNCTION, ScheduleTransmit(), ns3::Seconds(), and ns3::Socket::SetRecvCallback().
|
privatevirtual |
Definition at line 152 of file udp-echo-client.cc.
References ns3::Simulator::Cancel(), ns3::Socket::Close(), m_sendEvent, m_socket, ns3::MakeNullCallback(), NS_LOG_FUNCTION, and ns3::Socket::SetRecvCallback().
|
private |
Definition at line 138 of file udp-echo-client.h.
Referenced by GetTypeId(), and Send().
|
private |
Definition at line 143 of file udp-echo-client.h.
Referenced by Send(), SetDataSize(), SetFill(), UdpEchoClient(), and ~UdpEchoClient().
|
private |
Definition at line 142 of file udp-echo-client.h.
Referenced by Send(), SetDataSize(), SetFill(), UdpEchoClient(), and ~UdpEchoClient().
|
private |
Definition at line 139 of file udp-echo-client.h.
Referenced by GetTypeId(), and Send().
|
private |
Definition at line 147 of file udp-echo-client.h.
Referenced by GetTypeId(), Send(), SetRemote(), and StartApplication().
|
private |
Definition at line 148 of file udp-echo-client.h.
Referenced by GetTypeId(), Send(), SetRemote(), and StartApplication().
|
private |
Definition at line 149 of file udp-echo-client.h.
Referenced by ScheduleTransmit(), Send(), StopApplication(), and UdpEchoClient().
|
private |
Definition at line 145 of file udp-echo-client.h.
Referenced by Send(), and UdpEchoClient().
|
private |
Definition at line 140 of file udp-echo-client.h.
Referenced by GetDataSize(), Send(), SetDataSize(), and SetFill().
Definition at line 146 of file udp-echo-client.h.
Referenced by Send(), StartApplication(), StopApplication(), UdpEchoClient(), and ~UdpEchoClient().
|
private |
Callbacks for tracing the packet Tx events.
Definition at line 151 of file udp-echo-client.h.
Referenced by GetTypeId(), and Send().