A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
lte-ue-phy-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: Marco Miozzo <mmiozzo@cttc.es>
18
*/
19
20
#ifndef LTE_UE_PHY_SAP_H
21
#define LTE_UE_PHY_SAP_H
22
23
#include <ns3/packet.h>
24
25
namespace
ns3
26
{
27
28
class
LteControlMessage;
29
30
/**
31
* Service Access Point (SAP) offered by the UE-PHY to the UE-MAC
32
*
33
* This is the PHY SAP Provider, i.e., the part of the SAP that contains
34
* the PHY methods called by the MAC
35
*/
36
class
LteUePhySapProvider
37
{
38
public
:
39
virtual
~LteUePhySapProvider
();
40
41
/**
42
* \brief Send the MAC PDU to the channel
43
*
44
* \param p the MAC PDU to send
45
*/
46
virtual
void
SendMacPdu
(
Ptr<Packet>
p) = 0;
47
48
/**
49
* \brief Send SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel
50
*
51
* \param msg the Ideal Control Message to send
52
*/
53
virtual
void
SendLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
54
55
/**
56
* \brief Send a preamble on the PRACH
57
*
58
* \param prachId the ID of the preamble
59
* \param raRnti the RA RNTI
60
*/
61
virtual
void
SendRachPreamble
(
uint32_t
prachId,
uint32_t
raRnti) = 0;
62
63
/**
64
* \brief Notify PHY about the successful RRC connection
65
* establishment.
66
*/
67
virtual
void
NotifyConnectionSuccessful
() = 0;
68
};
69
70
/**
71
* Service Access Point (SAP) offered by the PHY to the MAC
72
*
73
* This is the PHY SAP User, i.e., the part of the SAP that contains the MAC
74
* methods called by the PHY
75
*/
76
class
LteUePhySapUser
77
{
78
public
:
79
virtual
~LteUePhySapUser
();
80
81
/**
82
* \brief Receive Phy Pdu function.
83
*
84
* It is called by the Phy to notify the MAC of the reception of a new PHY-PDU
85
*
86
* \param p
87
*/
88
virtual
void
ReceivePhyPdu
(
Ptr<Packet>
p) = 0;
89
90
/**
91
* \brief Trigger the start from a new frame (input from Phy layer)
92
*
93
* \param frameNo frame number
94
* \param subframeNo subframe number
95
*/
96
virtual
void
SubframeIndication
(
uint32_t
frameNo,
uint32_t
subframeNo) = 0;
97
98
/**
99
* \brief Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control
100
* channel
101
*
102
* \param msg the Ideal Control Message to receive
103
*/
104
virtual
void
ReceiveLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
105
};
106
107
}
// namespace ns3
108
109
#endif
// LTE_UE_PHY_SAP_H
ns3::LteUePhySapProvider
Service Access Point (SAP) offered by the UE-PHY to the UE-MAC.
Definition:
lte-ue-phy-sap.h:37
ns3::LteUePhySapProvider::SendLteControlMessage
virtual void SendLteControlMessage(Ptr< LteControlMessage > msg)=0
Send SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
ns3::LteUePhySapProvider::SendRachPreamble
virtual void SendRachPreamble(uint32_t prachId, uint32_t raRnti)=0
Send a preamble on the PRACH.
ns3::LteUePhySapProvider::NotifyConnectionSuccessful
virtual void NotifyConnectionSuccessful()=0
Notify PHY about the successful RRC connection establishment.
ns3::LteUePhySapProvider::SendMacPdu
virtual void SendMacPdu(Ptr< Packet > p)=0
Send the MAC PDU to the channel.
ns3::LteUePhySapProvider::~LteUePhySapProvider
virtual ~LteUePhySapProvider()
Definition:
lte-ue-phy-sap.cc:25
ns3::LteUePhySapUser
Service Access Point (SAP) offered by the PHY to the MAC.
Definition:
lte-ue-phy-sap.h:77
ns3::LteUePhySapUser::~LteUePhySapUser
virtual ~LteUePhySapUser()
Definition:
lte-ue-phy-sap.cc:29
ns3::LteUePhySapUser::ReceivePhyPdu
virtual void ReceivePhyPdu(Ptr< Packet > p)=0
Receive Phy Pdu function.
ns3::LteUePhySapUser::SubframeIndication
virtual void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)=0
Trigger the start from a new frame (input from Phy layer)
ns3::LteUePhySapUser::ReceiveLteControlMessage
virtual void ReceiveLteControlMessage(Ptr< LteControlMessage > msg)=0
Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
model
lte-ue-phy-sap.h
Generated on Tue May 28 2024 23:37:35 for ns-3 by
1.9.6