author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Mon, 21 Apr 2008 09:04:08 -0700 | |
changeset 2989 | b7eb3929096c |
parent 2983 | e3a416fe9dd5 |
parent 2961 | 2bcb3435483b |
child 3214 | 5c73d8f952bf |
permissions | -rw-r--r-- |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
2 |
/* |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
3 |
* Copyright (c) 2007 University of Washington |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
4 |
* |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
8 |
* |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
13 |
* |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
17 |
*/ |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
18 |
|
1505 | 19 |
#include "ns3/log.h" |
2535
08297f16760f
port AsciiTrace to Config::ConnectWithContext
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2534
diff
changeset
|
20 |
#include "ns3/trace-source-accessor.h" |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
21 |
#include "queue.h" |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
22 |
|
1505 | 23 |
NS_LOG_COMPONENT_DEFINE ("Queue"); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
24 |
|
283
13b1fcb759e9
call NS_DEBUG_COMPONENT_DEFINE when needed
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
281
diff
changeset
|
25 |
namespace ns3 { |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
26 |
|
2249
3a1da26d61dc
replace ComponentManager::Create and ClassId with InterfaceId::CreateObjest and InterfaceId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2238
diff
changeset
|
27 |
NS_OBJECT_ENSURE_REGISTERED (Queue); |
581
15240a33f517
make Queue derive from Interface
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
534
diff
changeset
|
28 |
|
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2249
diff
changeset
|
29 |
TypeId |
2251
04963d8cca51
iid (void) -> GetTypeId (void)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2250
diff
changeset
|
30 |
Queue::GetTypeId (void) |
2232
9abd038ee588
replace static const Interface iid; with static InterfaceId iid (void);
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2230
diff
changeset
|
31 |
{ |
2602
d9262bff6df2
add back support for introspected doxygen.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2535
diff
changeset
|
32 |
static TypeId tid = TypeId ("ns3::Queue") |
2534
0dd75c81244e
re-implement tracing using Attributes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2257
diff
changeset
|
33 |
.SetParent<Object> () |
2961
2bcb3435483b
improve documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
34 |
.AddTraceSource ("Enqueue", "Enqueue a packet in the queue.", |
2535
08297f16760f
port AsciiTrace to Config::ConnectWithContext
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2534
diff
changeset
|
35 |
MakeTraceSourceAccessor (&Queue::m_traceEnqueue)) |
2961
2bcb3435483b
improve documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
36 |
.AddTraceSource ("Dequeue", "Dequeue a packet from the queue.", |
2535
08297f16760f
port AsciiTrace to Config::ConnectWithContext
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2534
diff
changeset
|
37 |
MakeTraceSourceAccessor (&Queue::m_traceDequeue)) |
2961
2bcb3435483b
improve documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
38 |
.AddTraceSource ("Drop", "Drop a packet stored in the queue.", |
2535
08297f16760f
port AsciiTrace to Config::ConnectWithContext
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2534
diff
changeset
|
39 |
MakeTraceSourceAccessor (&Queue::m_traceDrop)) |
2534
0dd75c81244e
re-implement tracing using Attributes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2257
diff
changeset
|
40 |
; |
2252
80595448707a
iid -> tid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2251
diff
changeset
|
41 |
return tid; |
2232
9abd038ee588
replace static const Interface iid; with static InterfaceId iid (void);
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2230
diff
changeset
|
42 |
} |
9abd038ee588
replace static const Interface iid; with static InterfaceId iid (void);
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2230
diff
changeset
|
43 |
|
345
47b41507a45a
move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents:
337
diff
changeset
|
44 |
Queue::Queue() : |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
45 |
m_nBytes(0), |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
46 |
m_nTotalReceivedBytes(0), |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
47 |
m_nPackets(0), |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
48 |
m_nTotalReceivedPackets(0), |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
49 |
m_nTotalDroppedBytes(0), |
345
47b41507a45a
move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents:
337
diff
changeset
|
50 |
m_nTotalDroppedPackets(0) |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
51 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
52 |
NS_LOG_FUNCTION_NOARGS (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
53 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
54 |
|
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
55 |
Queue::~Queue() |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
56 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
57 |
NS_LOG_FUNCTION_NOARGS (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
58 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
59 |
|
345
47b41507a45a
move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents:
337
diff
changeset
|
60 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
61 |
bool |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
62 |
Queue::Enqueue (Ptr<Packet> p) |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
63 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
64 |
NS_LOG_FUNCTION (this << p); |
1505 | 65 |
NS_LOG_LOGIC ("m_traceEnqueue (p)"); |
308 | 66 |
|
345
47b41507a45a
move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents:
337
diff
changeset
|
67 |
m_traceEnqueue (p); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
68 |
|
337
42102ed8ee3c
Fix bug 8: Enque/Deque misspelled
Tom Henderson <tomh@tomh.org>
parents:
323
diff
changeset
|
69 |
bool retval = DoEnqueue (p); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
70 |
if (retval) |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
71 |
{ |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
72 |
m_nBytes += p->GetSize (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
73 |
m_nPackets++; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
74 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
75 |
return retval; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
76 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
77 |
|
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
78 |
Ptr<Packet> |
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
79 |
Queue::Dequeue (void) |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
80 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
81 |
NS_LOG_FUNCTION (this); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
82 |
|
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
83 |
Ptr<Packet> packet = DoDequeue (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
84 |
|
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
85 |
if (packet != 0) |
1308
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
86 |
{ |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
87 |
m_nBytes -= packet->GetSize (); |
1308
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
88 |
m_nPackets--; |
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
89 |
|
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
90 |
NS_ASSERT (m_nBytes >= 0); |
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
91 |
NS_ASSERT (m_nPackets >= 0); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
92 |
|
1870 | 93 |
NS_LOG_LOGIC("m_traceDequeue (packet)"); |
308 | 94 |
|
1308
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
95 |
m_traceDequeue (packet); |
5c5937a4150d
backout 9856d1175cbb:642d6798feaa:27dd3e15308a
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1303
diff
changeset
|
96 |
} |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
97 |
return packet; |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
98 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
99 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
100 |
void |
337
42102ed8ee3c
Fix bug 8: Enque/Deque misspelled
Tom Henderson <tomh@tomh.org>
parents:
323
diff
changeset
|
101 |
Queue::DequeueAll (void) |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
102 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
103 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 104 |
NS_ASSERT_MSG (0, "Don't know what to do with dequeued packets!"); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
105 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
106 |
|
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
107 |
Ptr<Packet> |
1870 | 108 |
Queue::Peek (void) const |
378
32bd402ea5ea
remove unused files, remove notion of PHY, make more realistic p2p-net-device and p2p-channel
Craig Dowell
parents:
375
diff
changeset
|
109 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
110 |
NS_LOG_FUNCTION (this); |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
111 |
return DoPeek (); |
378
32bd402ea5ea
remove unused files, remove notion of PHY, make more realistic p2p-net-device and p2p-channel
Craig Dowell
parents:
375
diff
changeset
|
112 |
} |
32bd402ea5ea
remove unused files, remove notion of PHY, make more realistic p2p-net-device and p2p-channel
Craig Dowell
parents:
375
diff
changeset
|
113 |
|
32bd402ea5ea
remove unused files, remove notion of PHY, make more realistic p2p-net-device and p2p-channel
Craig Dowell
parents:
375
diff
changeset
|
114 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
115 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
116 |
Queue::GetNPackets (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
117 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
118 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 119 |
NS_LOG_LOGIC ("returns " << m_nPackets); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
120 |
return m_nPackets; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
121 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
122 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
123 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
124 |
Queue::GetNBytes (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
125 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
126 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 127 |
NS_LOG_LOGIC (" returns " << m_nBytes); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
128 |
return m_nBytes; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
129 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
130 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
131 |
bool |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
132 |
Queue::IsEmpty (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
133 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
134 |
NS_LOG_FUNCTION_NOARGS (); |
1506
3c8b23550e6a
disable log unless debug build
Craig Dowell <craigdo@ee.washington.edu>
parents:
1505
diff
changeset
|
135 |
NS_LOG_LOGIC ("returns " << (m_nPackets == 0)); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
136 |
return m_nPackets == 0; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
137 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
138 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
139 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
140 |
Queue::GetTotalReceivedBytes (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
141 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
142 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 143 |
NS_LOG_LOGIC("returns " << m_nTotalReceivedBytes); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
144 |
return m_nTotalReceivedBytes; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
145 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
146 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
147 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
148 |
Queue::GetTotalReceivedPackets (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
149 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
150 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 151 |
NS_LOG_LOGIC ("returns " << m_nTotalReceivedPackets); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
152 |
return m_nTotalReceivedPackets; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
153 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
154 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
155 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
156 |
Queue:: GetTotalDroppedBytes (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
157 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
158 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 159 |
NS_LOG_LOGIC ("returns " << m_nTotalDroppedBytes); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
160 |
return m_nTotalDroppedBytes; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
161 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
162 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
163 |
uint32_t |
1860
cb17b9a8625b
Bug 105: Queue getter methods should be const
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1828
diff
changeset
|
164 |
Queue::GetTotalDroppedPackets (void) const |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
165 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
166 |
NS_LOG_FUNCTION_NOARGS (); |
1505 | 167 |
NS_LOG_LOGIC("returns " << m_nTotalDroppedPackets); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
168 |
return m_nTotalDroppedPackets; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
169 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
170 |
|
317
b5959aa4a02f
fix queue tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
316
diff
changeset
|
171 |
void |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
172 |
Queue::ResetStatistics (void) |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
173 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
174 |
NS_LOG_FUNCTION_NOARGS (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
175 |
m_nTotalReceivedBytes = 0; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
176 |
m_nTotalReceivedPackets = 0; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
177 |
m_nTotalDroppedBytes = 0; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
178 |
m_nTotalDroppedPackets = 0; |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
179 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
180 |
|
316
e41511af6a4b
remove now-unused call to c_str ()
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
308
diff
changeset
|
181 |
void |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
182 |
Queue::Drop (Ptr<Packet> p) |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
183 |
{ |
2983
e3a416fe9dd5
NS_LOG_FUNCTION -> NS_LOG_FUNCTION_NOARGS and NS_LOG_PARAMS -> NS_LOG_FUNCTION
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2834
diff
changeset
|
184 |
NS_LOG_FUNCTION (this << p); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
185 |
|
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
186 |
m_nTotalDroppedPackets++; |
1866
e7dbcc4df546
do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1506
diff
changeset
|
187 |
m_nTotalDroppedBytes += p->GetSize (); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
188 |
|
1505 | 189 |
NS_LOG_LOGIC ("m_traceDrop (p)"); |
345
47b41507a45a
move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents:
337
diff
changeset
|
190 |
m_traceDrop (p); |
264
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
191 |
} |
128d8d1bfb51
queues, trace-writer, debug
craigdo@m354-pc01.ee.washington.edu
parents:
diff
changeset
|
192 |
|
2534
0dd75c81244e
re-implement tracing using Attributes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2257
diff
changeset
|
193 |
} // namespace ns3 |