A Discrete-Event Network Simulator
API
lte-radio-bearer-tag.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (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: Author: Marco Miozzo <marco.miozzo@cttc.es>
19  */
20 #ifndef LTE_RADIO_BEARER_TAG_H
21 #define LTE_RADIO_BEARER_TAG_H
22 
23 #include "ns3/tag.h"
24 
25 namespace ns3 {
26 
27 class Tag;
28 
29 
34 class LteRadioBearerTag : public Tag
35 {
36 public:
37  static TypeId GetTypeId (void);
38  virtual TypeId GetInstanceTypeId (void) const;
39 
44 
48  LteRadioBearerTag (uint16_t rnti, uint8_t lcId);
49 
53  LteRadioBearerTag (uint16_t rnti, uint8_t lcId, uint8_t layer);
54 
60  void SetRnti (uint16_t rnti);
61 
67  void SetLcid (uint8_t lcid);
68 
74  void SetLayer (uint8_t layer);
75 
76 
77  virtual void Serialize (TagBuffer i) const;
78  virtual void Deserialize (TagBuffer i);
79  virtual uint32_t GetSerializedSize () const;
80  virtual void Print (std::ostream &os) const;
81 
82  uint16_t GetRnti (void) const;
83  uint8_t GetLcid (void) const;
84  uint8_t GetLayer (void) const;
85 
86 private:
87  uint16_t m_rnti;
88  uint8_t m_lcid;
89  uint8_t m_layer;
90 
91 };
92 
93 
94 
95 } // namespace ns3
96 
97 #endif /* LTE_RADIO_BEARER_TAG_H */
uint8_t GetLcid(void) const
uint16_t GetRnti(void) const
void SetRnti(uint16_t rnti)
Set the RNTI to the given value.
virtual uint32_t GetSerializedSize() const
static TypeId GetTypeId(void)
virtual void Print(std::ostream &os) const
LteRadioBearerTag()
Create an empty LteRadioBearerTag.
tag a set of bytes in a packet
Definition: tag.h:36
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void Deserialize(TagBuffer i)
void SetLayer(uint8_t layer)
Set the layer id to the given value.
void SetLcid(uint8_t lcid)
Set the LC id to the given value.
read and write tag data
Definition: tag-buffer.h:51
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Tag used to define the RNTI and LC id for each MAC packet trasmitted.
virtual void Serialize(TagBuffer i) const
a unique identifier for an interface.
Definition: type-id.h:58
uint8_t GetLayer(void) const