A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
lte-pdcp-sap.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Manuel Requena <manuel.requena@cttc.es>
18
*/
19
20
#ifndef LTE_PDCP_SAP_H
21
#define LTE_PDCP_SAP_H
22
23
#include "ns3/packet.h"
24
25
namespace
ns3
26
{
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
58
virtual
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params
) = 0;
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
92
template
<
class
C>
93
class
LtePdcpSpecificLtePdcpSapProvider
:
public
LtePdcpSapProvider
94
{
95
public
:
101
LtePdcpSpecificLtePdcpSapProvider
(C* pdcp);
102
103
// Delete default constructor to avoid misuse
104
LtePdcpSpecificLtePdcpSapProvider
() =
delete
;
105
106
// Interface implemented from LtePdcpSapProvider
107
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params
)
override
;
108
109
private
:
110
C*
m_pdcp
;
111
};
112
113
template
<
class
C>
114
LtePdcpSpecificLtePdcpSapProvider<C>::LtePdcpSpecificLtePdcpSapProvider
(C* pdcp)
115
: m_pdcp(pdcp)
116
{
117
}
118
119
template
<
class
C>
120
void
121
LtePdcpSpecificLtePdcpSapProvider<C>::TransmitPdcpSdu
(
TransmitPdcpSduParameters
params
)
122
{
123
m_pdcp->DoTransmitPdcpSdu(
params
);
124
}
125
127
template
<
class
C>
128
class
LtePdcpSpecificLtePdcpSapUser
:
public
LtePdcpSapUser
129
{
130
public
:
136
LtePdcpSpecificLtePdcpSapUser
(C* rrc);
137
138
// Delete default constructor to avoid misuse
139
LtePdcpSpecificLtePdcpSapUser
() =
delete
;
140
141
// Interface implemented from LtePdcpSapUser
142
void
ReceivePdcpSdu
(
ReceivePdcpSduParameters
params
)
override
;
143
144
private
:
145
C*
m_rrc
;
146
};
147
148
template
<
class
C>
149
LtePdcpSpecificLtePdcpSapUser<C>::LtePdcpSpecificLtePdcpSapUser
(C* rrc)
150
: m_rrc(rrc)
151
{
152
}
153
154
template
<
class
C>
155
void
156
LtePdcpSpecificLtePdcpSapUser<C>::ReceivePdcpSdu
(
ReceivePdcpSduParameters
params
)
157
{
158
m_rrc->DoReceivePdcpSdu(
params
);
159
}
160
161
}
// namespace ns3
162
163
#endif
// LTE_PDCP_SAP_H
ns3::LtePdcpSapProvider
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
Definition:
lte-pdcp-sap.h:36
ns3::LtePdcpSapProvider::TransmitPdcpSdu
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)=0
Send RRC PDU parameters to the PDCP for transmission.
ns3::LtePdcpSapProvider::~LtePdcpSapProvider
virtual ~LtePdcpSapProvider()
Definition:
lte-pdcp-sap.cc:25
ns3::LtePdcpSapUser
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
Definition:
lte-pdcp-sap.h:69
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::LtePdcpSapUser::~LtePdcpSapUser
virtual ~LtePdcpSapUser()
Definition:
lte-pdcp-sap.cc:29
ns3::LtePdcpSpecificLtePdcpSapProvider
LtePdcpSpecificLtePdcpSapProvider class.
Definition:
lte-pdcp-sap.h:94
ns3::LtePdcpSpecificLtePdcpSapProvider::TransmitPdcpSdu
void TransmitPdcpSdu(TransmitPdcpSduParameters params) override
Send RRC PDU parameters to the PDCP for transmission.
Definition:
lte-pdcp-sap.h:121
ns3::LtePdcpSpecificLtePdcpSapProvider::m_pdcp
C * m_pdcp
the PDCP
Definition:
lte-pdcp-sap.h:110
ns3::LtePdcpSpecificLtePdcpSapProvider::LtePdcpSpecificLtePdcpSapProvider
LtePdcpSpecificLtePdcpSapProvider()=delete
ns3::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser class.
Definition:
lte-pdcp-sap.h:129
ns3::LtePdcpSpecificLtePdcpSapUser::m_rrc
C * m_rrc
RRC.
Definition:
lte-pdcp-sap.h:145
ns3::LtePdcpSpecificLtePdcpSapUser::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser()=delete
ns3::LtePdcpSpecificLtePdcpSapUser::ReceivePdcpSdu
void ReceivePdcpSdu(ReceivePdcpSduParameters params) override
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
Definition:
lte-pdcp-sap.h:156
ns3::Ptr< Packet >
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
two-ray-to-three-gpp-ch-calibration.params
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.
Definition:
two-ray-to-three-gpp-ch-calibration.py:514
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters
Parameters for LtePdcpSapProvider::TransmitPdcpSdu.
Definition:
lte-pdcp-sap.h:44
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::lcid
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition:
lte-pdcp-sap.h:47
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::pdcpSdu
Ptr< Packet > pdcpSdu
the RRC PDU
Definition:
lte-pdcp-sap.h:45
ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::rnti
uint16_t rnti
the C-RNTI identifying the UE
Definition:
lte-pdcp-sap.h:46
ns3::LtePdcpSapUser::ReceivePdcpSduParameters
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition:
lte-pdcp-sap.h:77
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu
Ptr< Packet > pdcpSdu
the RRC PDU
Definition:
lte-pdcp-sap.h:78
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::lcid
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition:
lte-pdcp-sap.h:80
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti
uint16_t rnti
the C-RNTI identifying the UE
Definition:
lte-pdcp-sap.h:79
src
lte
model
lte-pdcp-sap.h
Generated on Sun Mar 3 2024 17:11:02 for ns-3 by
1.9.1