#include <udp-echo-client.h>
Public Member Functions | |
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) |
Public Member Functions inherited from ns3::Application | |
Ptr< Node > | GetNode () const |
void | SetNode (Ptr< Node > node) |
void | SetStartTime (Time start) |
Specify application start time. More... | |
void | SetStopTime (Time stop) |
Specify application stop time. More... | |
Public Member Functions inherited from ns3::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) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::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) |
Static Public Member Functions inherited from ns3::Application | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoDispose (void) |
Protected Member Functions inherited from ns3::Application | |
virtual void | DoInitialize (void) |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Private Member Functions | |
void | HandleRead (Ptr< Socket > socket) |
void | ScheduleTransmit (Time dt) |
void | Send (void) |
virtual void | StartApplication (void) |
Application specific startup code. More... | |
virtual void | StopApplication (void) |
Application specific shutdown code. More... | |
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 | |
Protected Attributes inherited from ns3::Application | |
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.
|
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 ns3::Application::DoDispose(), and 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 NS_LOG_FUNCTION.
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 NS_LOG_FUNCTION.
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 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 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 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 NS_LOG_FUNCTION.
|
privatevirtual |
Application specific startup code.
The StartApplication method is called at the start time specified by Start This method should be overridden by all or most application subclasses.
Reimplemented from ns3::Application.
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(), ns3::Ipv4Address::IsMatchingType(), ns3::Ipv6Address::IsMatchingType(), ns3::TypeId::LookupByName(), ns3::MakeCallback(), NS_LOG_FUNCTION, ns3::Seconds(), and ns3::Socket::SetRecvCallback().
|
privatevirtual |
Application specific shutdown code.
The StopApplication method is called at the stop time specified by Stop This method should be overridden by all or most application subclasses.
Reimplemented from ns3::Application.
Definition at line 152 of file udp-echo-client.cc.
References ns3::Simulator::Cancel(), ns3::Socket::Close(), ns3::MakeNullCallback(), NS_LOG_FUNCTION, and ns3::Socket::SetRecvCallback().