A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
lte-pdcp.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011-2012 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_H
22
#define LTE_PDCP_H
23
24
#include "ns3/traced-value.h"
25
#include "ns3/trace-source-accessor.h"
26
27
#include "ns3/object.h"
28
29
#include "ns3/lte-pdcp-sap.h"
30
#include "ns3/lte-rlc-sap.h"
31
32
namespace
ns3 {
33
37
class
LtePdcp
:
public
Object
// SimpleRefCount<LtePdcp>
38
{
39
friend
class
LtePdcpSpecificLteRlcSapUser
;
40
friend
class
LtePdcpSpecificLtePdcpSapProvider
<
LtePdcp
>;
41
public
:
42
LtePdcp
();
43
virtual
~LtePdcp
();
44
static
TypeId
GetTypeId
(
void
);
45
virtual
void
DoDispose
();
46
52
void
SetRnti
(uint16_t rnti);
53
59
void
SetLcId
(uint8_t lcId);
60
66
void
SetLtePdcpSapUser
(
LtePdcpSapUser
*
s
);
67
73
LtePdcpSapProvider
*
GetLtePdcpSapProvider
();
74
80
void
SetLteRlcSapProvider
(
LteRlcSapProvider
*
s
);
81
87
LteRlcSapUser
*
GetLteRlcSapUser
();
88
89
static
const
uint16_t
MAX_PDCP_SN
= 4096;
90
95
struct
Status
96
{
97
uint16_t
txSn
;
98
uint16_t
rxSn
;
99
};
100
105
Status
GetStatus
();
106
112
void
SetStatus
(
Status
s
);
113
114
protected
:
115
// Interface provided to upper RRC entity
116
virtual
void
DoTransmitPdcpSdu
(
Ptr<Packet>
p);
117
118
LtePdcpSapUser
*
m_pdcpSapUser
;
119
LtePdcpSapProvider
*
m_pdcpSapProvider
;
120
121
// Interface provided to lower RLC entity
122
virtual
void
DoReceivePdu
(
Ptr<Packet>
p);
123
124
LteRlcSapUser
*
m_rlcSapUser
;
125
LteRlcSapProvider
*
m_rlcSapProvider
;
126
127
uint16_t
m_rnti
;
128
uint8_t
m_lcid
;
129
134
TracedCallback<uint16_t, uint8_t, uint32_t>
m_txPdu
;
139
TracedCallback<uint16_t, uint8_t, uint32_t, uint64_t>
m_rxPdu
;
140
141
private
:
145
uint16_t
m_txSequenceNumber
;
146
uint16_t
m_rxSequenceNumber
;
147
151
static
const
uint16_t
m_maxPdcpSn
= 4095;
152
153
};
154
155
156
}
// namespace ns3
157
158
#endif // LTE_PDCP_H
ns3::LteRlcSapUser
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
Definition:
lte-rlc-sap.h:66
ns3::LtePdcp::m_rlcSapProvider
LteRlcSapProvider * m_rlcSapProvider
Definition:
lte-pdcp.h:125
ns3::Ptr< Packet >
ns3::LtePdcp::m_rnti
uint16_t m_rnti
Definition:
lte-pdcp.h:127
ns3::LtePdcp::DoReceivePdu
virtual void DoReceivePdu(Ptr< Packet > p)
Definition:
lte-pdcp.cc:202
ns3::LtePdcp::GetLteRlcSapUser
LteRlcSapUser * GetLteRlcSapUser()
Definition:
lte-pdcp.cc:145
ns3::LtePdcp::SetLtePdcpSapUser
void SetLtePdcpSapUser(LtePdcpSapUser *s)
Definition:
lte-pdcp.cc:124
ns3::LteRlcSapProvider
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
Definition:
lte-rlc-sap.h:35
ns3::LtePdcp::GetTypeId
static TypeId GetTypeId(void)
Definition:
lte-pdcp.cc:86
ns3::LtePdcp::Status::txSn
uint16_t txSn
TX sequence number.
Definition:
lte-pdcp.h:97
ns3::LtePdcp::m_pdcpSapProvider
LtePdcpSapProvider * m_pdcpSapProvider
Definition:
lte-pdcp.h:119
ns3::LtePdcp::Status
Status variables of the PDCP.
Definition:
lte-pdcp.h:95
ns3::TracedCallback< uint16_t, uint8_t, uint32_t >
ns3::LtePdcp::m_txSequenceNumber
uint16_t m_txSequenceNumber
State variables.
Definition:
lte-pdcp.h:145
ns3::LtePdcp::m_rxSequenceNumber
uint16_t m_rxSequenceNumber
Definition:
lte-pdcp.h:146
ns3::LtePdcp::MAX_PDCP_SN
static const uint16_t MAX_PDCP_SN
Definition:
lte-pdcp.h:89
ns3::LtePdcp::SetStatus
void SetStatus(Status s)
Set the status of the PDCP.
Definition:
lte-pdcp.cc:161
ns3::LtePdcp::m_txPdu
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
Used to inform of a PDU delivery to the RLC SAP provider.
Definition:
lte-pdcp.h:134
s
Ptr< SampleEmitter > s
Definition:
double-probe-test-suite.cc:51
ns3::LtePdcp::~LtePdcp
virtual ~LtePdcp()
Definition:
lte-pdcp.cc:80
ns3::LtePdcp::GetLtePdcpSapProvider
LtePdcpSapProvider * GetLtePdcpSapProvider()
Definition:
lte-pdcp.cc:131
ns3::LtePdcp::SetLteRlcSapProvider
void SetLteRlcSapProvider(LteRlcSapProvider *s)
Definition:
lte-pdcp.cc:138
ns3::LtePdcp::Status::rxSn
uint16_t rxSn
RX sequence number.
Definition:
lte-pdcp.h:98
ns3::LtePdcp::DoTransmitPdcpSdu
virtual void DoTransmitPdcpSdu(Ptr< Packet > p)
Definition:
lte-pdcp.cc:170
ns3::LtePdcp::SetLcId
void SetLcId(uint8_t lcId)
Definition:
lte-pdcp.cc:117
ns3::LtePdcp::SetRnti
void SetRnti(uint16_t rnti)
Definition:
lte-pdcp.cc:110
ns3::LtePdcp::DoDispose
virtual void DoDispose()
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
Definition:
lte-pdcp.cc:101
ns3::LtePdcp::m_rlcSapUser
LteRlcSapUser * m_rlcSapUser
Definition:
lte-pdcp.h:124
ns3::LtePdcp
LTE PDCP entity, see 3GPP TS 36.323.
Definition:
lte-pdcp.h:37
ns3::LtePdcp::m_lcid
uint8_t m_lcid
Definition:
lte-pdcp.h:128
ns3::LtePdcp::GetStatus
Status GetStatus()
Definition:
lte-pdcp.cc:152
ns3::LtePdcpSapProvider
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification.
Definition:
lte-pdcp-sap.h:35
ns3::LtePdcpSapUser
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification.
Definition:
lte-pdcp-sap.h:68
ns3::LtePdcpSpecificLteRlcSapUser
Definition:
lte-pdcp.cc:34
ns3::LtePdcp::m_rxPdu
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
Used to inform of a PDU reception from the RLC SAP user.
Definition:
lte-pdcp.h:139
ns3::LtePdcp::m_pdcpSapUser
LtePdcpSapUser * m_pdcpSapUser
Definition:
lte-pdcp.h:118
ns3::LtePdcp::m_maxPdcpSn
static const uint16_t m_maxPdcpSn
Constants.
Definition:
lte-pdcp.h:151
ns3::Object
a base class which provides memory management and object aggregation
Definition:
object.h:63
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::LtePdcpSpecificLtePdcpSapProvider
Definition:
lte-pdcp-sap.h:94
ns3::LtePdcp::LtePdcp
LtePdcp()
Definition:
lte-pdcp.cc:67
src
lte
model
lte-pdcp.h
Generated on Sat Apr 19 2014 14:07:00 for ns-3 by
1.8.6