A Discrete-Event Network Simulator
API
lte-rrc-protocol-ideal.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2012 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: Nicola Baldo <nbaldo@cttc.es>
19  */
20 
21 
22 #ifndef LTE_RRC_PROTOCOL_IDEAL_H
23 #define LTE_RRC_PROTOCOL_IDEAL_H
24 
25 #include <stdint.h>
26 #include <map>
27 
28 #include <ns3/ptr.h>
29 #include <ns3/object.h>
30 #include <ns3/lte-rrc-sap.h>
31 
32 namespace ns3 {
33 
34 class LteUeRrcSapProvider;
35 class LteUeRrcSapUser;
36 class LteEnbRrcSapProvider;
37 class LteUeRrc;
38 
39 
49 {
52 
53 public:
54 
56  virtual ~LteUeRrcProtocolIdeal ();
57 
58  // inherited from Object
59  virtual void DoDispose (void);
64  static TypeId GetTypeId (void);
65 
78 
84  void SetUeRrc (Ptr<LteUeRrc> rrc);
85 
86 
87 private:
88 
89  // methods forwarded from LteUeRrcSapUser
132 
134  void SetEnbRrcSapProvider ();
135 
137  uint16_t m_rnti;
141 
142 };
143 
144 
152 {
155 
156 public:
157 
159  virtual ~LteEnbRrcProtocolIdeal ();
160 
161  // inherited from Object
162  virtual void DoDispose (void);
167  static TypeId GetTypeId (void);
168 
181 
187  void SetCellId (uint16_t cellId);
188 
195  LteUeRrcSapProvider* GetUeRrcSapProvider (uint16_t rnti);
202  void SetUeRrcSapProvider (uint16_t rnti, LteUeRrcSapProvider* p);
203 
204 private:
205 
206  // methods forwarded from LteEnbRrcSapUser
213  void DoSetupUe (uint16_t rnti, LteEnbRrcSapUser::SetupUeParameters params);
219  void DoRemoveUe (uint16_t rnti);
226  void DoSendSystemInformation (uint16_t cellId, LteRrcSap::SystemInformation msg);
303 
304 
305  uint16_t m_rnti;
306  uint16_t m_cellId;
309  std::map<uint16_t, LteUeRrcSapProvider*> m_enbRrcSapProviderMap;
310 
311 };
312 
313 
314 
315 }
316 
317 
318 #endif // LTE_RRC_PROTOCOL_IDEAL_H
RrcConnectionRequest structure.
Definition: lte-rrc-sap.h:685
LteUeRrcSapProvider * m_ueRrcSapProvider
the UE RRC SAP provider
void DoSendRrcConnectionReestablishmentReject(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentReject msg)
Send RRC connection reestablishment reject function.
LteEnbRrcSapProvider * m_enbRrcSapProvider
the ENB RRC SAP provider
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:73
Part of the RRC protocol.
Definition: lte-rrc-sap.h:982
MeasurementReport structure.
Definition: lte-rrc-sap.h:894
void DoSendRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Send RRC connection reconfiguration completed function.
void DoSendRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Send RRC connection reestablishment request function.
virtual void DoDispose(void)
Destructor implementation.
void DoSendRrcConnectionReconfiguration(uint16_t rnti, LteRrcSap::RrcConnectionReconfiguration msg)
Send RRC connection reconfiguration function.
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1182
Ptr< LteUeRrc > m_rrc
the RRC
void DoSendRrcConnectionRelease(uint16_t rnti, LteRrcSap::RrcConnectionRelease msg)
Send RRC connection release function.
void SetUeRrc(Ptr< LteUeRrc > rrc)
Set LTE UE RRC function.
void SetLteEnbRrcSapProvider(LteEnbRrcSapProvider *p)
Set LTE ENB RRC SAP provider function.
Template for the implementation of the LteEnbRrcSapUser as a member of an owner class of type C to wh...
Definition: lte-rrc-sap.h:1465
LteEnbRrcSapUser * m_enbRrcSapUser
the ENB RRC SAP user
void DoSendRrcConnectionSetup(uint16_t rnti, LteRrcSap::RrcConnectionSetup msg)
Send RRC connection setup function.
SetupParameters structure.
Definition: lte-rrc-sap.h:913
void SetLteUeRrcSapProvider(LteUeRrcSapProvider *p)
Set LTE UE RRC SAP provider function.
static TypeId GetTypeId(void)
Get the type ID.
void DoSendSystemInformation(uint16_t cellId, LteRrcSap::SystemInformation msg)
Send system information function.
void DoSetupUe(uint16_t rnti, LteEnbRrcSapUser::SetupUeParameters params)
Setup UE function.
SystemInformation structure.
Definition: lte-rrc-sap.h:601
Ptr< Packet > DoEncodeHandoverPreparationInformation(LteRrcSap::HandoverPreparationInfo msg)
Encode handover preparation information function.
void DoSendRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
Send RRC connection setup completed function.
RrcConnectionReestablishment structure.
Definition: lte-rrc-sap.h:858
static TypeId GetTypeId(void)
Get the type ID.
RrcConnectionReconfiguration structure.
Definition: lte-rrc-sap.h:829
SetupUeParameters structure.
Definition: lte-rrc-sap.h:1067
void SetCellId(uint16_t cellId)
Set the cell ID function.
RrcConnectionReconfigurationCompleted structure.
Definition: lte-rrc-sap.h:844
void DoSendRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
Send RRC connection request function.
std::map< uint16_t, LteUeRrcSapProvider * > m_enbRrcSapProviderMap
the LTE UE RRC SAP provider
RrcConnectionSetupCompleted structure.
Definition: lte-rrc-sap.h:698
HandoverPreparationInfo structure.
Definition: lte-rrc-sap.h:888
LteUeRrcSapUser * m_ueRrcSapUser
the RRC SAP user
RrcConnectionSetup structure.
Definition: lte-rrc-sap.h:691
LteRrcSap::HandoverPreparationInfo DoDecodeHandoverPreparationInformation(Ptr< Packet > p)
Encode handover preparation information function.
Models the transmission of RRC messages from the UE to the eNB in an ideal fashion, without errors and without consuming any radio resources.
void SetEnbRrcSapProvider()
Set ENB RRC SAP provider.
RrcConnectionReestablishmentRequest structure.
Definition: lte-rrc-sap.h:851
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1063
Every class exported by the ns3 library is enclosed in the ns3 namespace.
LteUeRrcSapUser * GetLteUeRrcSapUser()
Get LTE UE RRC SAP user function.
RrcConnectionReject structure.
Definition: lte-rrc-sap.h:882
RrcConnectionReestablishmentReject structure.
Definition: lte-rrc-sap.h:871
LteUeRrcSapProvider * GetUeRrcSapProvider(uint16_t rnti)
Get LTE UE RRC SAP provider function.
LteRrcSap::RrcConnectionReconfiguration DoDecodeHandoverCommand(Ptr< Packet > p)
Decode handover command function.
void DoSendRrcConnectionReject(uint16_t rnti, LteRrcSap::RrcConnectionReject msg)
Send RRC connection reject function.
void DoSetup(LteUeRrcSapUser::SetupParameters params)
Setup function.
void SendSystemInformation(LteRrcSap::SystemInformation msg)
Send system information function.
void DoSendRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Send RRC connection reestablishment complete function.
void DoSendRrcConnectionReestablishment(uint16_t rnti, LteRrcSap::RrcConnectionReestablishment msg)
Send RRC connection reestablishment function.
void SetUeRrcSapProvider(uint16_t rnti, LteUeRrcSapProvider *p)
Set UE RRC SAP provider function.
RrcConnectionReestablishmentComplete structure.
Definition: lte-rrc-sap.h:865
virtual void DoDispose(void)
Destructor implementation.
LteEnbRrcSapProvider * m_enbRrcSapProvider
the ENB RRC SAP provider
Template for the implementation of the LteUeRrcSapUser as a member of an owner class of type C to whi...
Definition: lte-rrc-sap.h:1276
A base class which provides memory management and object aggregation.
Definition: object.h:87
Ptr< Packet > DoEncodeHandoverCommand(LteRrcSap::RrcConnectionReconfiguration msg)
Encode handover command function.
Part of the RRC protocol.
Definition: lte-rrc-sap.h:909
LteEnbRrcSapUser * GetLteEnbRrcSapUser()
Get LTE ENB RRC SAP user function.
RrcConnectionRelease structure.
Definition: lte-rrc-sap.h:876
a unique identifier for an interface.
Definition: type-id.h:58
void DoSendMeasurementReport(LteRrcSap::MeasurementReport msg)
Send measurement report function.
void DoRemoveUe(uint16_t rnti)
Remove UE function.
Models the transmission of RRC messages from the UE to the eNB in an ideal fashion, without errors and without consuming any radio resources.