A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
lte
model
lte-pdcp-sap.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_SAP_H
22
#define LTE_PDCP_SAP_H
23
24
#include "ns3/packet.h"
25
26
namespace
ns3
{
27
35
class
LtePdcpSapProvider
36
{
37
public
:
38
virtual
~LtePdcpSapProvider
();
39
43
struct
TransmitPdcpSduParameters
44
{
45
Ptr<Packet>
pdcpSdu
;
46
uint16_t
rnti
;
47
uint8_t
lcid
;
48
};
49
57
virtual
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params) = 0;
58
};
59
60
68
class
LtePdcpSapUser
69
{
70
public
:
71
virtual
~LtePdcpSapUser
();
72
76
struct
ReceivePdcpSduParameters
77
{
78
Ptr<Packet>
pdcpSdu
;
79
uint16_t
rnti
;
80
uint8_t
lcid
;
81
};
82
88
virtual
void
ReceivePdcpSdu
(
ReceivePdcpSduParameters
params) = 0;
89
};
90
91
93
template
<
class
C>
94
class
LtePdcpSpecificLtePdcpSapProvider
:
public
LtePdcpSapProvider
95
{
96
public
:
102
LtePdcpSpecificLtePdcpSapProvider
(C* pdcp);
103
104
// Interface implemented from LtePdcpSapProvider
105
virtual
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params);
106
107
private
:
108
LtePdcpSpecificLtePdcpSapProvider
();
109
C*
m_pdcp
;
110
};
111
112
template
<
class
C>
113
LtePdcpSpecificLtePdcpSapProvider<C>::LtePdcpSpecificLtePdcpSapProvider
(C* pdcp)
114
: m_pdcp (pdcp)
115
{
116
}
117
118
template
<
class
C>
119
LtePdcpSpecificLtePdcpSapProvider<C>::LtePdcpSpecificLtePdcpSapProvider
()
120
{
121
}
122
123
template
<
class
C>
124
void
LtePdcpSpecificLtePdcpSapProvider<C>::TransmitPdcpSdu
(
TransmitPdcpSduParameters
params)
125
{
126
m_pdcp->DoTransmitPdcpSdu (params.
pdcpSdu
);
127
}
128
129
131
template
<
class
C>
132
class
LtePdcpSpecificLtePdcpSapUser
:
public
LtePdcpSapUser
133
{
134
public
:
140
LtePdcpSpecificLtePdcpSapUser
(C* rrc);
141
142
// Interface implemented from LtePdcpSapUser
143
virtual
void
ReceivePdcpSdu
(
ReceivePdcpSduParameters
params);
144
145
private
:
146
LtePdcpSpecificLtePdcpSapUser
();
147
C*
m_rrc
;
148
};
149
150
template
<
class
C>
151
LtePdcpSpecificLtePdcpSapUser<C>::LtePdcpSpecificLtePdcpSapUser
(C* rrc)
152
: m_rrc (rrc)
153
{
154
}
155
156
template
<
class
C>
157
LtePdcpSpecificLtePdcpSapUser<C>::LtePdcpSpecificLtePdcpSapUser
()
158
{
159
}
160
161
template
<
class
C>
162
void
LtePdcpSpecificLtePdcpSapUser<C>::ReceivePdcpSdu
(
ReceivePdcpSduParameters
params)
163
{
164
m_rrc->DoReceivePdcpSdu (params);
165
}
166
167
168
}
// namespace ns3
169
170
#endif // LTE_PDCP_SAP_H
ns3::Ptr< Packet >
ns3::LtePdcpSpecificLtePdcpSapUser::ReceivePdcpSdu
virtual void ReceivePdcpSdu(ReceivePdcpSduParameters params)
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
Definition:
lte-pdcp-sap.h:162
ns3::LtePdcpSpecificLtePdcpSapProvider::LtePdcpSpecificLtePdcpSapProvider
LtePdcpSpecificLtePdcpSapProvider()
Definition:
lte-pdcp-sap.h:119
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu
Ptr< Packet > pdcpSdu
the RRC PDU
Definition:
lte-pdcp-sap.h:78
ns3::LtePdcpSapUser::ReceivePdcpSduParameters
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition:
lte-pdcp-sap.h:76
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti
uint16_t rnti
the C-RNTI identifying the UE
Definition:
lte-pdcp-sap.h:79
ns3::LtePdcpSpecificLtePdcpSapProvider::TransmitPdcpSdu
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)
Send a RRC PDU to the RDCP for transmission This method is to be called when upper RRC entity has a R...
Definition:
lte-pdcp-sap.h:124
ns3::LtePdcpSapProvider::~LtePdcpSapProvider
virtual ~LtePdcpSapProvider()
Definition:
lte-pdcp-sap.cc:25
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::rnti
uint16_t rnti
the C-RNTI identifying the UE
Definition:
lte-pdcp-sap.h:46
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters
Parameters for LtePdcpSapProvider::TransmitPdcpSdu.
Definition:
lte-pdcp-sap.h:43
ns3::LtePdcpSpecificLtePdcpSapUser::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser()
Definition:
lte-pdcp-sap.h:157
ns3::LtePdcpSpecificLtePdcpSapProvider::m_pdcp
C * m_pdcp
the PDCP
Definition:
lte-pdcp-sap.h:109
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::pdcpSdu
Ptr< Packet > pdcpSdu
the RRC PDU
Definition:
lte-pdcp-sap.h:45
ns3::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser class.
Definition:
lte-pdcp-sap.h:132
ns3::LtePdcpSpecificLtePdcpSapUser::m_rrc
C * m_rrc
RRC.
Definition:
lte-pdcp-sap.h:147
ns3::LtePdcpSapUser::ReceivePdcpSdu
virtual void ReceivePdcpSdu(ReceivePdcpSduParameters params)=0
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
ns3::LtePdcpSapProvider::TransmitPdcpSdu
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)=0
Send a RRC PDU to the RDCP for transmission This method is to be called when upper RRC entity has a R...
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::LtePdcpSapUser::ReceivePdcpSduParameters::lcid
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition:
lte-pdcp-sap.h:80
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::lcid
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition:
lte-pdcp-sap.h:47
ns3::LtePdcpSapUser::~LtePdcpSapUser
virtual ~LtePdcpSapUser()
Definition:
lte-pdcp-sap.cc:29
ns3::LtePdcpSpecificLtePdcpSapProvider
LtePdcpSpecificLtePdcpSapProvider class.
Definition:
lte-pdcp-sap.h:94
Generated on Wed Nov 7 2018 10:02:01 for ns-3 by
1.8.14