A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
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
58
virtual
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params) = 0;
59
};
60
61
69
class
LtePdcpSapUser
70
{
71
public
:
72
virtual
~LtePdcpSapUser
();
73
77
struct
ReceivePdcpSduParameters
78
{
79
Ptr<Packet>
pdcpSdu
;
80
uint16_t
rnti
;
81
uint8_t
lcid
;
82
};
83
89
virtual
void
ReceivePdcpSdu
(
ReceivePdcpSduParameters
params) = 0;
90
};
91
92
94
template
<
class
C>
95
class
LtePdcpSpecificLtePdcpSapProvider
:
public
LtePdcpSapProvider
96
{
97
public
:
103
LtePdcpSpecificLtePdcpSapProvider
(C* pdcp);
104
105
// Interface implemented from LtePdcpSapProvider
106
virtual
void
TransmitPdcpSdu
(
TransmitPdcpSduParameters
params);
107
108
private
:
109
LtePdcpSpecificLtePdcpSapProvider
();
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
LtePdcpSpecificLtePdcpSapProvider<C>::LtePdcpSpecificLtePdcpSapProvider
()
121
{
122
}
123
124
template
<
class
C>
125
void
LtePdcpSpecificLtePdcpSapProvider<C>::TransmitPdcpSdu
(
TransmitPdcpSduParameters
params)
126
{
127
m_pdcp->DoTransmitPdcpSdu (params);
128
}
129
130
132
template
<
class
C>
133
class
LtePdcpSpecificLtePdcpSapUser
:
public
LtePdcpSapUser
134
{
135
public
:
141
LtePdcpSpecificLtePdcpSapUser
(C* rrc);
142
143
// Interface implemented from LtePdcpSapUser
144
virtual
void
ReceivePdcpSdu
(
ReceivePdcpSduParameters
params);
145
146
private
:
147
LtePdcpSpecificLtePdcpSapUser
();
148
C*
m_rrc
;
149
};
150
151
template
<
class
C>
152
LtePdcpSpecificLtePdcpSapUser<C>::LtePdcpSpecificLtePdcpSapUser
(C* rrc)
153
: m_rrc (rrc)
154
{
155
}
156
157
template
<
class
C>
158
LtePdcpSpecificLtePdcpSapUser<C>::LtePdcpSpecificLtePdcpSapUser
()
159
{
160
}
161
162
template
<
class
C>
163
void
LtePdcpSpecificLtePdcpSapUser<C>::ReceivePdcpSdu
(
ReceivePdcpSduParameters
params)
164
{
165
m_rrc->DoReceivePdcpSdu (params);
166
}
167
168
169
}
// namespace ns3
170
171
#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:70
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:96
ns3::LtePdcpSpecificLtePdcpSapProvider::TransmitPdcpSdu
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)
Send RRC PDU parameters to the PDCP for transmission.
Definition:
lte-pdcp-sap.h:125
ns3::LtePdcpSpecificLtePdcpSapProvider::LtePdcpSpecificLtePdcpSapProvider
LtePdcpSpecificLtePdcpSapProvider()
Definition:
lte-pdcp-sap.h:120
ns3::LtePdcpSpecificLtePdcpSapProvider::m_pdcp
C * m_pdcp
the PDCP
Definition:
lte-pdcp-sap.h:110
ns3::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser class.
Definition:
lte-pdcp-sap.h:134
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:163
ns3::LtePdcpSpecificLtePdcpSapUser::m_rrc
C * m_rrc
RRC.
Definition:
lte-pdcp-sap.h:148
ns3::LtePdcpSpecificLtePdcpSapUser::LtePdcpSpecificLtePdcpSapUser
LtePdcpSpecificLtePdcpSapUser()
Definition:
lte-pdcp-sap.h:158
ns3::Ptr< Packet >
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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:78
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu
Ptr< Packet > pdcpSdu
the RRC PDU
Definition:
lte-pdcp-sap.h:79
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::lcid
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition:
lte-pdcp-sap.h:81
ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti
uint16_t rnti
the C-RNTI identifying the UE
Definition:
lte-pdcp-sap.h:80
src
lte
model
lte-pdcp-sap.h
Generated on Tue Feb 6 2024 19:21:22 for ns-3 by
1.9.1