A Discrete-Event Network Simulator
API
lte-rlc-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_RLC_SAP_H
22#define LTE_RLC_SAP_H
23
24#include "ns3/packet.h"
25
26namespace ns3 {
27
36{
37public:
38 virtual ~LteRlcSapProvider ();
39
44 {
46 uint16_t rnti;
47 uint8_t lcid;
48 };
49
56 virtual void TransmitPdcpPdu (TransmitPdcpPduParameters params) = 0;
57};
58
59
68{
69public:
70 virtual ~LteRlcSapUser ();
71
77 virtual void ReceivePdcpPdu (Ptr<Packet> p) = 0;
78};
79
80
82template <class C>
84{
85public:
92
97 virtual void TransmitPdcpPdu (TransmitPdcpPduParameters params);
98
99private:
101 C* m_rlc;
102};
103
104template <class C>
106 : m_rlc (rlc)
107{
108}
109
110template <class C>
112{
113}
114
115template <class C>
117{
118 m_rlc->DoTransmitPdcpPdu (params.pdcpPdu);
119}
120
121
123template <class C>
125{
126public:
133
134 // Interface implemented from LteRlcSapUser
135 virtual void ReceivePdcpPdu (Ptr<Packet> p);
136
137private:
140};
141
142template <class C>
144 : m_pdcp (pdcp)
145{
146}
147
148template <class C>
150{
151}
152
153template <class C>
155{
156 m_pdcp->DoReceivePdcpPdu (p);
157}
158
159
160} // namespace ns3
161
162#endif // LTE_RLC_SAP_H
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36....
Definition: lte-rlc-sap.h:36
virtual ~LteRlcSapProvider()
Definition: lte-rlc-sap.cc:25
virtual void TransmitPdcpPdu(TransmitPdcpPduParameters params)=0
Send a PDCP PDU to the RLC for transmission This method is to be called when upper PDCP entity has a ...
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36....
Definition: lte-rlc-sap.h:68
virtual ~LteRlcSapUser()
Definition: lte-rlc-sap.cc:29
virtual void ReceivePdcpPdu(Ptr< Packet > p)=0
Called by the RLC entity to notify the PDCP entity of the reception of a new PDCP PDU.
LteRlcSpecificLteRlcSapProvider.
Definition: lte-rlc-sap.h:84
virtual void TransmitPdcpPdu(TransmitPdcpPduParameters params)
Interface implemented from LteRlcSapProvider.
Definition: lte-rlc-sap.h:116
LteRlcSpecificLteRlcSapUser class.
Definition: lte-rlc-sap.h:125
virtual void ReceivePdcpPdu(Ptr< Packet > p)
Called by the RLC entity to notify the PDCP entity of the reception of a new PDCP PDU.
Definition: lte-rlc-sap.h:154
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters for LteRlcSapProvider::TransmitPdcpPdu.
Definition: lte-rlc-sap.h:44
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
Definition: lte-rlc-sap.h:47
uint16_t rnti
the C-RNTI identifying the UE
Definition: lte-rlc-sap.h:46