A Discrete-Event Network Simulator
API
lte-pdcp-header.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: Manuel Requena <manuel.requena@cttc.es>
19  */
20 
21 #ifndef LTE_PDCP_HEADER_H
22 #define LTE_PDCP_HEADER_H
23 
24 #include "ns3/header.h"
25 
26 #include <list>
27 
28 namespace ns3 {
29 
38 class LtePdcpHeader : public Header
39 {
40 public:
41 
47  LtePdcpHeader ();
48  ~LtePdcpHeader ();
49 
55  void SetDcBit (uint8_t dcBit);
61  void SetSequenceNumber (uint16_t sequenceNumber);
62 
68  uint8_t GetDcBit () const;
74  uint16_t GetSequenceNumber () const;
75 
77  enum {
80  } DcBit_t;
81 
86  static TypeId GetTypeId (void);
87  virtual TypeId GetInstanceTypeId (void) const;
88  virtual void Print (std::ostream &os) const;
89  virtual uint32_t GetSerializedSize (void) const;
90  virtual void Serialize (Buffer::Iterator start) const;
91  virtual uint32_t Deserialize (Buffer::Iterator start);
92 
93 private:
94  uint8_t m_dcBit;
95  uint16_t m_sequenceNumber;
96 
97 };
98 
99 } // namespace ns3
100 
101 #endif // LTE_PDCP_HEADER_H
Protocol header serialization and deserialization.
Definition: header.h:42
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual void Serialize(Buffer::Iterator start) const
uint16_t m_sequenceNumber
the sequence number
def start()
Definition: core.py:1855
void SetDcBit(uint8_t dcBit)
Set DC bit.
iterator in a Buffer instance
Definition: buffer.h:98
static TypeId GetTypeId(void)
Get the type ID.
virtual void Print(std::ostream &os) const
uint8_t GetDcBit() const
Get DC bit.
virtual uint32_t GetSerializedSize(void) const
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t m_dcBit
the DC bit
enum ns3::LtePdcpHeader::@61 DcBit_t
DcBit_t typedef.
uint16_t GetSequenceNumber() const
Get sequence number.
LtePdcpHeader()
Constructor.
The packet header for the Packet Data Convergence Protocol (PDCP) packets.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
a unique identifier for an interface.
Definition: type-id.h:58
void SetSequenceNumber(uint16_t sequenceNumber)
Set sequence number.