A Discrete-Event Network Simulator
API
udp-echo-server.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright 2007 University of Washington
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */
18 
19 #ifndef UDP_ECHO_SERVER_H
20 #define UDP_ECHO_SERVER_H
21 
22 #include "ns3/application.h"
23 #include "ns3/event-id.h"
24 #include "ns3/ptr.h"
25 #include "ns3/address.h"
26 #include "ns3/traced-callback.h"
27 
28 namespace ns3 {
29 
30 class Socket;
31 class Packet;
32 
44 class UdpEchoServer : public Application
45 {
46 public:
51  static TypeId GetTypeId (void);
52  UdpEchoServer ();
53  virtual ~UdpEchoServer ();
54 
55 protected:
56  virtual void DoDispose (void);
57 
58 private:
59 
60  virtual void StartApplication (void);
61  virtual void StopApplication (void);
62 
70  void HandleRead (Ptr<Socket> socket);
71 
72  uint16_t m_port;
76 
79 
82 };
83 
84 } // namespace ns3
85 
86 #endif /* UDP_ECHO_SERVER_H */
87 
a polymophic address class
Definition: address.h:91
The base class for all ns3 applications.
Definition: application.h:61
Forward calls to a chain of Callback.
a unique identifier for an interface.
Definition: type-id.h:59
A Udp Echo server.
uint16_t m_port
Port on which we listen for incoming packets.
Address m_local
local multicast address
static TypeId GetTypeId(void)
Get the type ID.
virtual void DoDispose(void)
Destructor implementation.
virtual void StartApplication(void)
Application specific startup code.
virtual void StopApplication(void)
Application specific shutdown code.
Ptr< Socket > m_socket6
IPv6 Socket.
TracedCallback< Ptr< const Packet > > m_rxTrace
Callbacks for tracing the packet Rx events.
Ptr< Socket > m_socket
IPv4 Socket.
void HandleRead(Ptr< Socket > socket)
Handle a packet reception.
TracedCallback< Ptr< const Packet >, const Address &, const Address & > m_rxTraceWithAddresses
Callbacks for tracing the packet Rx events, includes source and destination addresses.
Every class exported by the ns3 library is enclosed in the ns3 namespace.