author | Nicola Baldo <nbaldo@cttc.es> |
Fri, 17 Jun 2011 17:32:20 +0200 | |
changeset 8148 | 09e2d03022a2 |
parent 7901 | 2451f71f1ce4 |
child 8374 | 5a07200122a6 |
permissions | -rw-r--r-- |
7901 | 1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 |
/* |
|
3 |
* Copyright (c) 2011 CTTC |
|
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: Jaume Nin <jaume.nin@cttc.es> |
|
19 |
*/ |
|
20 |
||
21 |
#ifndef RLC_TAG_H |
|
22 |
#define RLC_TAG_H |
|
23 |
||
24 |
#include "ns3/packet.h" |
|
25 |
#include "ns3/nstime.h" |
|
26 |
||
27 |
||
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
28 |
namespace ns3 { |
7901 | 29 |
|
30 |
class Tag; |
|
31 |
||
32 |
/** |
|
33 |
* Tag to calculate the per-PDU delay from eNb RLC to UE RLC |
|
34 |
*/ |
|
35 |
||
36 |
class RlcTag : public Tag |
|
37 |
{ |
|
38 |
public: |
|
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
39 |
static TypeId GetTypeId (void); |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
40 |
virtual TypeId GetInstanceTypeId (void) const; |
7901 | 41 |
|
42 |
/** |
|
43 |
* Create an empty RLC tag |
|
44 |
*/ |
|
45 |
RlcTag (); |
|
46 |
/** |
|
47 |
* Create an RLC tag with the given senderTimestamp |
|
48 |
*/ |
|
49 |
RlcTag (Time senderTimestamp); |
|
50 |
||
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
51 |
virtual void Serialize (TagBuffer i) const; |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
52 |
virtual void Deserialize (TagBuffer i); |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
53 |
virtual uint32_t GetSerializedSize () const; |
7901 | 54 |
virtual void Print (std::ostream &os) const; |
55 |
||
56 |
/** |
|
57 |
* Get the instant when the RLC delivers the PDU to the MAC SAP provider |
|
58 |
*/ |
|
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
59 |
Time getSenderTimestamp (void) const |
7901 | 60 |
{ |
61 |
return m_senderTimestamp; |
|
62 |
} |
|
63 |
||
64 |
/** |
|
65 |
* Set the sender timestamp |
|
66 |
* @param senderTimestamp time stamp of the instant when the RLC delivers the PDU to the MAC SAP provider |
|
67 |
*/ |
|
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
7901
diff
changeset
|
68 |
void setSenderTimestamp (Time senderTimestamp) |
7901 | 69 |
{ |
70 |
this->m_senderTimestamp = senderTimestamp; |
|
71 |
} |
|
72 |
||
73 |
private: |
|
74 |
Time m_senderTimestamp; |
|
75 |
||
76 |
}; |
|
77 |
||
78 |
} //namespace ns3 |
|
79 |
||
80 |
#endif /* RLC_TAG_H */ |