A Discrete-Event Network Simulator
API
arp-queue-disc-item.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2018 Universita' degli Studi di Napoli Federico II
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 ARP_QUEUE_DISC_ITEM_H
20 #define ARP_QUEUE_DISC_ITEM_H
21 
22 #include "ns3/packet.h"
23 #include "ns3/queue-item.h"
24 #include "arp-header.h"
25 
26 namespace ns3 {
27 
37 public:
45  ArpQueueDiscItem (Ptr<Packet> p, const Address & addr, uint16_t protocol, const ArpHeader & header);
46 
47  virtual ~ArpQueueDiscItem ();
48 
52  virtual uint32_t GetSize (void) const;
53 
57  const ArpHeader & GetHeader (void) const;
58 
62  virtual void AddHeader (void);
63 
68  virtual void Print (std::ostream &os) const;
69 
74  virtual bool Mark (void);
75 
82  virtual uint32_t Hash (uint32_t perturbation) const;
83 
84 private:
104 
107 };
108 
109 } // namespace ns3
110 
111 #endif /* ARP_QUEUE_DISC_ITEM_H */
bool m_headerAdded
True if the header has already been added to the packet.
QueueDiscItem is the abstract base class for items that are stored in a queue disc.
Definition: queue-item.h:148
The packet header for an ARP packet.
Definition: arp-header.h:34
a polymophic address class
Definition: address.h:90
virtual uint32_t GetSize(void) const
virtual void Print(std::ostream &os) const
Print the item contents.
ArpHeader m_header
The ARP header.
const ArpHeader & GetHeader(void) const
virtual bool Mark(void)
Inherited from the base class, but we cannot mark ARP packets.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void AddHeader(void)
Add the header to the packet.
virtual uint32_t Hash(uint32_t perturbation) const
Computes the hash of the packet&#39;s 5-tuple.
ArpQueueDiscItem()
Default constructor.
ArpQueueDiscItem & operator=(const ArpQueueDiscItem &)
Assignment operator.
ArpQueueDiscItem is a subclass of QueueDiscItem which stores ARP packets.