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
25namespace ns3 {
26
27class Tag;
28
29
34class LteRadioBearerTag : public Tag
35{
36public:
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
110private:
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 */
Tag used to define the RNTI and LC id for each MAC packet trasmitted.
uint16_t GetRnti(void) const
Get RNTI function.
void SetLayer(uint8_t layer)
Set the layer id to the given value.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
virtual void Serialize(TagBuffer i) const
static TypeId GetTypeId(void)
Get the type ID.
virtual void Print(std::ostream &os) const
virtual void Deserialize(TagBuffer i)
virtual uint32_t GetSerializedSize() const
LteRadioBearerTag()
Create an empty LteRadioBearerTag.
uint8_t GetLayer(void) const
Get layer function.
void SetRnti(uint16_t rnti)
Set the RNTI to the given value.
void SetLcid(uint8_t lcid)
Set the LC id to the given value.
uint8_t GetLcid(void) const
Get LCID function.
read and write tag data
Definition: tag-buffer.h:52
tag a set of bytes in a packet
Definition: tag.h:37
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.