A Discrete-Event Network Simulator
API
service-flow-record.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007,2008, 2009 INRIA
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  * Author: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19  */
20 
21 #include "service-flow-record.h"
22 
23 namespace ns3 {
24 
26  : m_grantSize (0),
27  m_grantTimeStamp (Seconds (0)),
28  m_dlTimeStamp (Seconds (0)),
29  m_pktsSent (0),
30  m_pktsRcvd (0),
31  m_bytesSent (0),
32  m_bytesRcvd (0),
33  m_requestedBandwidth (0),
34  m_grantedBandwidth (0),
35  m_bwSinceLastExpiry (0)
36 {
37 
39  m_backlogged = 0;
40  m_backloggedTemp = 0;
42 }
43 
45 {
46 }
47 
48 void
49 ServiceFlowRecord::SetGrantSize (uint32_t grantSize)
50 {
51  m_grantSize = grantSize;
52 }
53 
54 uint32_t
56 {
57  return m_grantSize;
58 }
59 
60 void
62 {
63  m_grantTimeStamp = grantTimeStamp;
64 }
65 
66 Time
68 {
69  return m_grantTimeStamp;
70 }
71 
72 void
74 {
75  m_dlTimeStamp = dlTimeStamp;
76 }
77 
78 Time
80 {
81  return m_dlTimeStamp;
82 }
83 
84 void
85 ServiceFlowRecord::SetPktsSent (uint32_t pktsSent)
86 {
87  m_pktsSent = pktsSent;
88 }
89 
90 void
92 {
93  m_pktsSent += pktsSent;
94 }
95 
96 uint32_t
98 {
99  return m_pktsSent;
100 }
101 
102 void
104 {
105  m_pktsRcvd = pktsRcvd;
106 }
107 
108 void
110 {
111  m_pktsRcvd += pktsRcvd;
112 }
113 
114 uint32_t
116 {
117  return m_pktsRcvd;
118 }
119 
120 void
122 {
123  m_bytesSent = bytesSent;
124 }
125 
126 void
128 {
129  m_bytesSent += bytesSent;
130 }
131 
132 uint32_t
134 {
135  return m_bytesSent;
136 }
137 
138 void
140 {
141  m_bytesRcvd = bytesRcvd;
142 }
143 
144 void
146 {
147  m_bytesRcvd += bytesRcvd;
148 }
149 
150 uint32_t
152 {
153  return m_bytesRcvd;
154 }
155 
156 void
157 ServiceFlowRecord::SetRequestedBandwidth (uint32_t requestedBandwidth)
158 {
159  m_requestedBandwidth = requestedBandwidth;
160 }
161 void
162 ServiceFlowRecord::UpdateRequestedBandwidth (uint32_t requestedBandwidth)
163 {
164  m_requestedBandwidth += requestedBandwidth;
165 }
166 
167 uint32_t
169 {
170  return m_requestedBandwidth;
171 }
172 
173 void
174 ServiceFlowRecord::SetGrantedBandwidth (uint32_t grantedBandwidth)
175 {
176  m_grantedBandwidth = grantedBandwidth;
177 }
178 
179 void
180 ServiceFlowRecord::UpdateGrantedBandwidth (uint32_t grantedBandwidth)
181 {
182  m_grantedBandwidth += grantedBandwidth;
183 }
184 
185 uint32_t
187 {
188  return m_grantedBandwidth;
189 }
190 void
191 ServiceFlowRecord::SetGrantedBandwidthTemp (uint32_t grantedBandwidthTemp)
192 {
193  m_grantedBandwidthTemp = grantedBandwidthTemp;
194 }
195 
196 void
198  uint32_t grantedBandwidthTemp)
199 {
200  m_grantedBandwidthTemp += grantedBandwidthTemp;
201 }
202 
203 uint32_t
205 {
206  return m_grantedBandwidthTemp;
207 }
208 
209 void
211 {
212  m_lastGrantTime = grantTime;
213 }
214 
215 Time
217 {
218  return m_lastGrantTime;
219 }
220 
221 void
222 ServiceFlowRecord::SetBacklogged (uint32_t backlogged)
223 {
224  m_backlogged = backlogged;
225 }
226 
227 void
229 {
230  m_backlogged += backlogged;
231 }
232 
233 uint32_t
235 {
236  return m_backlogged;
237 }
238 
239 void
240 ServiceFlowRecord::SetBackloggedTemp (uint32_t backloggedTemp)
241 {
242  m_backloggedTemp = backloggedTemp;
243 }
244 
245 void
247 {
248  m_backloggedTemp += backloggedTemp;
249 }
250 
251 uint32_t
253 {
254  return m_backloggedTemp;
255 }
256 
257 void
258 ServiceFlowRecord::SetBwSinceLastExpiry (uint32_t bwSinceLastExpiry)
259 {
260  m_bwSinceLastExpiry = bwSinceLastExpiry;
261 }
262 
263 void
264 ServiceFlowRecord::UpdateBwSinceLastExpiry (uint32_t bwSinceLastExpiry)
265 {
266  m_bwSinceLastExpiry += bwSinceLastExpiry;
267 }
268 
269 uint32_t
271 {
272  return m_bwSinceLastExpiry;
273 }
274 
275 } // namespace ns3
Time GetGrantTimeStamp(void) const
void UpdateRequestedBandwidth(uint32_t requestedBandwidth)
update the requested bandwidth
void UpdateBytesRcvd(uint32_t bytesRcvd)
update the number of received bytes by adding bytesRcvd
void UpdatePktsSent(uint32_t pktsSent)
update the number of sent packets by adding pktsSent
uint32_t GetBytesRcvd(void) const
int32_t m_backlogged
back logged
void SetPktsRcvd(uint32_t pktsRcvd)
Set the number of received packets.
uint32_t GetGrantedBandwidthTemp(void)
void UpdateGrantedBandwidthTemp(uint32_t grantedBandwidthTemp)
update the temporary granted bandwidth
uint32_t GetRequestedBandwidth(void)
void UpdateBytesSent(uint32_t bytesSent)
update the number of sent bytes by adding bytesSent
uint32_t GetGrantSize(void) const
uint32_t GetPktsSent(void) const
uint32_t m_pktsRcvd
packets received
void SetRequestedBandwidth(uint32_t requestedBandwidth)
set the requested bandwidth
uint32_t GetPktsRcvd(void) const
uint32_t m_bytesRcvd
bytes received
void IncreaseBacklogged(uint32_t backlogged)
increase backlogged
uint32_t GetBytesSent(void) const
uint32_t GetBacklogged(void) const
void SetDlTimeStamp(Time dlTimeStamp)
Set the DlTimeStamp.
void SetBackloggedTemp(uint32_t backloggedTemp)
set temporary back logged
void SetPktsSent(uint32_t pktsSent)
set the number of sent packets in this service flow
uint32_t GetBwSinceLastExpiry(void)
Time m_lastGrantTime
last grant time
uint32_t m_grantedBandwidthTemp
Temporary variable used to sort list. Necessary to keep original order.
uint32_t m_pktsSent
packets sent
void SetGrantSize(uint32_t grantSize)
Set the grant size (only for UGS service flows)
void SetGrantedBandwidthTemp(uint32_t grantedBandwidthTemp)
set the temporary granted bandwidth
uint32_t m_grantedBandwidth
granted badnwidth
void IncreaseBackloggedTemp(uint32_t backloggedTemp)
increase temporary back logged
void UpdatePktsRcvd(uint32_t pktsRcvd)
update the number of received packets by adding pktsRcvd
void SetBwSinceLastExpiry(uint32_t bwSinceLastExpiry)
set BW since last expiry
uint32_t m_requestedBandwidth
requested bandwidth
void UpdateGrantedBandwidth(uint32_t grantedBandwidth)
update the granted bandwidth
void SetBytesRcvd(uint32_t bytesRcvd)
Set the number of received bytes.
uint32_t m_bwSinceLastExpiry
bandwidth granted since last expiry of minimum reserved traffic rate interval, only for nrtPS,...
uint32_t GetGrantedBandwidth(void)
void UpdateBwSinceLastExpiry(uint32_t bwSinceLastExpiry)
update BW since last expiry
void SetBacklogged(uint32_t backlogged)
set backlogged
uint32_t m_bytesSent
bytes sent
void SetBytesSent(uint32_t bytesSent)
Set the number of sent bytes.
Time m_dlTimeStamp
time when this service flow's traffic was last sent
void SetLastGrantTime(Time grantTime)
set last grant time
Time GetDlTimeStamp(void) const
void SetGrantTimeStamp(Time grantTimeStamp)
Set the grant time stamp.
uint32_t GetBackloggedTemp(void) const
void SetGrantedBandwidth(uint32_t grantedBandwidth)
set the granted bandwidth
int32_t m_backloggedTemp
back logged temp
Time m_grantTimeStamp
allocation (for data) for UGS flows and unicast poll (for bandwidth requests) for non-UGS flows
Time GetLastGrantTime(void) const
uint32_t m_grantSize
only used for UGS flow
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition: nstime.h:1244
Every class exported by the ns3 library is enclosed in the ns3 namespace.