equal
deleted
inserted
replaced
42 */ |
42 */ |
43 DropTailQueue (); |
43 DropTailQueue (); |
44 |
44 |
45 virtual ~DropTailQueue(); |
45 virtual ~DropTailQueue(); |
46 |
46 |
|
47 /** |
|
48 * Enumeration of the modes supported in the class. |
|
49 * |
|
50 */ |
|
51 enum Mode { |
|
52 ILLEGAL, /**< Mode not set */ |
|
53 PACKETS, /**< Use number of packets for maximum queue size */ |
|
54 BYTES, /**< Use number of bytes for maximum queue size */ |
|
55 }; |
|
56 |
|
57 /** |
|
58 * Set the operating mode of this device. |
|
59 * |
|
60 * \param mode The operating mode of this device. |
|
61 * |
|
62 */ |
|
63 void SetMode (DropTailQueue::Mode mode); |
|
64 |
|
65 /** |
|
66 * Get the encapsulation mode of this device. |
|
67 * |
|
68 * \returns The encapsulation mode of this device. |
|
69 */ |
|
70 DropTailQueue::Mode GetMode (void); |
|
71 |
47 private: |
72 private: |
48 virtual bool DoEnqueue (Ptr<Packet> p); |
73 virtual bool DoEnqueue (Ptr<Packet> p); |
49 virtual Ptr<Packet> DoDequeue (void); |
74 virtual Ptr<Packet> DoDequeue (void); |
50 virtual Ptr<const Packet> DoPeek (void) const; |
75 virtual Ptr<const Packet> DoPeek (void) const; |
51 |
76 |
52 private: |
|
53 std::queue<Ptr<Packet> > m_packets; |
77 std::queue<Ptr<Packet> > m_packets; |
54 uint32_t m_maxPackets; |
78 uint32_t m_maxPackets; |
|
79 uint32_t m_maxBytes; |
|
80 uint32_t m_bytesInQueue; |
|
81 Mode m_mode; |
55 }; |
82 }; |
56 |
83 |
57 }; // namespace ns3 |
84 }; // namespace ns3 |
58 |
85 |
59 #endif /* DROPTAIL_H */ |
86 #endif /* DROPTAIL_H */ |