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:
41  static TypeId GetTypeId (void);
42  virtual TypeId GetInstanceTypeId (void) const;
43 
48 
54  LteRadioBearerTag (uint16_t rnti, uint8_t lcId);
55 
62  LteRadioBearerTag (uint16_t rnti, uint8_t lcId, uint8_t layer);
63 
69  void SetRnti (uint16_t rnti);
70 
76  void SetLcid (uint8_t lcid);
77 
83  void SetLayer (uint8_t layer);
84 
85 
86  virtual void Serialize (TagBuffer i) const;
87  virtual void Deserialize (TagBuffer i);
88  virtual uint32_t GetSerializedSize () const;
89  virtual void Print (std::ostream &os) const;
90 
96  uint16_t GetRnti (void) const;
102  uint8_t GetLcid (void) const;
108  uint8_t GetLayer (void) const;
109 
110 private:
111  uint16_t m_rnti;
112  uint8_t m_lcid;
113  uint8_t m_layer;
114 
115 };
116 
117 
118 
119 } // namespace ns3
120 
121 #endif /* LTE_RADIO_BEARER_TAG_H */
uint8_t GetLcid(void) const
Get LCID function.
uint16_t GetRnti(void) const
Get RNTI function.
void SetRnti(uint16_t rnti)
Set the RNTI to the given value.
virtual uint32_t GetSerializedSize() const
static TypeId GetTypeId(void)
Get the type ID.
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
Get layer function.