A Discrete-Event Network Simulator
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 
36 {
37  public:
38  virtual ~LtePdcpSapProvider();
39 
44  {
46  uint16_t rnti;
47  uint8_t lcid;
48  };
49 
59 };
60 
69 {
70  public:
71  virtual ~LtePdcpSapUser();
72 
77  {
79  uint16_t rnti;
80  uint8_t lcid;
81  };
82 
89 };
90 
92 template <class C>
94 {
95  public:
102 
103  // Delete default constructor to avoid misuse
105 
106  // Interface implemented from LtePdcpSapProvider
108 
109  private:
110  C* m_pdcp;
111 };
112 
113 template <class C>
115  : m_pdcp(pdcp)
116 {
117 }
118 
119 template <class C>
120 void
122 {
123  m_pdcp->DoTransmitPdcpSdu(params);
124 }
125 
127 template <class C>
129 {
130  public:
137 
138  // Delete default constructor to avoid misuse
140 
141  // Interface implemented from LtePdcpSapUser
143 
144  private:
145  C* m_rrc;
146 };
147 
148 template <class C>
150  : m_rrc(rrc)
151 {
152 }
153 
154 template <class C>
155 void
157 {
158  m_rrc->DoReceivePdcpSdu(params);
159 }
160 
161 } // namespace ns3
162 
163 #endif // LTE_PDCP_SAP_H
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
Definition: lte-pdcp-sap.h:36
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)=0
Send RRC PDU parameters to the PDCP for transmission.
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
Definition: lte-pdcp-sap.h:69
virtual void ReceivePdcpSdu(ReceivePdcpSduParameters params)=0
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
virtual ~LtePdcpSapUser()
Definition: lte-pdcp-sap.cc:29
LtePdcpSpecificLtePdcpSapProvider class.
Definition: lte-pdcp-sap.h:94
void TransmitPdcpSdu(TransmitPdcpSduParameters params) override
Send RRC PDU parameters to the PDCP for transmission.
Definition: lte-pdcp-sap.h:121
LtePdcpSpecificLtePdcpSapUser class.
Definition: lte-pdcp-sap.h:129
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
Every class exported by the ns3 library is enclosed in the ns3 namespace.
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.
Parameters for LtePdcpSapProvider::TransmitPdcpSdu.
Definition: lte-pdcp-sap.h:44
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition: lte-pdcp-sap.h:47
uint16_t rnti
the C-RNTI identifying the UE
Definition: lte-pdcp-sap.h:46
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:77
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition: lte-pdcp-sap.h:80
uint16_t rnti
the C-RNTI identifying the UE
Definition: lte-pdcp-sap.h:79