A Discrete-Event Network Simulator
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 
36 {
37 public:
38  virtual ~LtePdcpSapProvider ();
39 
44  {
46  uint16_t rnti;
47  uint8_t lcid;
48  };
49 
58  virtual void TransmitPdcpSdu (TransmitPdcpSduParameters params) = 0;
59 };
60 
61 
70 {
71 public:
72  virtual ~LtePdcpSapUser ();
73 
78  {
80  uint16_t rnti;
81  uint8_t lcid;
82  };
83 
89  virtual void ReceivePdcpSdu (ReceivePdcpSduParameters params) = 0;
90 };
91 
92 
94 template <class C>
96 {
97 public:
104 
105  // Interface implemented from LtePdcpSapProvider
106  virtual void TransmitPdcpSdu (TransmitPdcpSduParameters params);
107 
108 private:
110  C* m_pdcp;
111 };
112 
113 template <class C>
115  : m_pdcp (pdcp)
116 {
117 }
118 
119 template <class C>
121 {
122 }
123 
124 template <class C>
126 {
127  m_pdcp->DoTransmitPdcpSdu (params);
128 }
129 
130 
132 template <class C>
134 {
135 public:
142 
143  // Interface implemented from LtePdcpSapUser
144  virtual void ReceivePdcpSdu (ReceivePdcpSduParameters params);
145 
146 private:
148  C* m_rrc;
149 };
150 
151 template <class C>
153  : m_rrc (rrc)
154 {
155 }
156 
157 template <class C>
159 {
160 }
161 
162 template <class C>
164 {
165  m_rrc->DoReceivePdcpSdu (params);
166 }
167 
168 
169 } // namespace ns3
170 
171 #endif // LTE_PDCP_SAP_H
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
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:77
uint16_t rnti
the C-RNTI identifying the UE
Definition: lte-pdcp-sap.h:80
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)
Send RRC PDU parameters to the PDCP for transmission.
Definition: lte-pdcp-sap.h:125
uint16_t rnti
the C-RNTI identifying the UE
Definition: lte-pdcp-sap.h:46
Parameters for LtePdcpSapProvider::TransmitPdcpSdu.
Definition: lte-pdcp-sap.h:43
Every class exported by the ns3 library is enclosed in the ns3 namespace.
LtePdcpSpecificLtePdcpSapUser class.
Definition: lte-pdcp-sap.h:133
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 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.323 Packet Data Convergence Protocol (PDCP) specification.
Definition: lte-pdcp-sap.h:35
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:69
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition: lte-pdcp-sap.h:81
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition: lte-pdcp-sap.h:47
virtual ~LtePdcpSapUser()
Definition: lte-pdcp-sap.cc:29
LtePdcpSpecificLtePdcpSapProvider class.
Definition: lte-pdcp-sap.h:95