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-enb-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_ENB_PHY_SAP_H
21
#define LTE_ENB_PHY_SAP_H
22
23
#include "
ff-mac-common.h
"
24
#include "
ff-mac-sched-sap.h
"
25
26
#include <ns3/packet.h>
27
28
namespace
ns3
29
{
30
31
class
LteControlMessage;
32
33
/**
34
* Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC
35
*
36
* This is the PHY SAP Provider, i.e., the part of the SAP that contains
37
* the PHY methods called by the MAC
38
*/
39
class
LteEnbPhySapProvider
40
{
41
public
:
42
virtual
~LteEnbPhySapProvider
();
43
44
/**
45
* \brief Send the MAC PDU to the channel
46
* \param p the MAC PDU to send
47
*/
48
virtual
void
SendMacPdu
(
Ptr<Packet>
p) = 0;
49
50
/**
51
* \brief Send SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel
52
* \param msg the Ideal Control Message to send
53
*/
54
virtual
void
SendLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
55
56
/**
57
* \brief Get the delay from MAC to Channel expressed in TTIs
58
* \returns MAC channel TTI delay
59
*/
60
virtual
uint8_t
GetMacChTtiDelay
() = 0;
61
};
62
63
/**
64
* Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC
65
*
66
* This is the MAC SAP User, i.e., the part of the SAP that contains the MAC
67
* methods called by the PHY
68
*/
69
class
LteEnbPhySapUser
70
{
71
public
:
72
virtual
~LteEnbPhySapUser
();
73
74
/**
75
* Called by the Phy to notify the MAC of the reception of a new PHY-PDU
76
*
77
* \param p
78
*/
79
virtual
void
ReceivePhyPdu
(
Ptr<Packet>
p) = 0;
80
81
/**
82
* \brief Trigger the start from a new frame (input from Phy layer)
83
* \param frameNo frame number
84
* \param subframeNo subframe number
85
*/
86
virtual
void
SubframeIndication
(
uint32_t
frameNo,
uint32_t
subframeNo) = 0;
87
88
/**
89
* \brief Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control
90
* channel
91
* \param msg the Ideal Control Message to receive
92
*/
93
virtual
void
ReceiveLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
94
95
/**
96
* notify the reception of a RACH preamble on the PRACH
97
*
98
* \param prachId the ID of the preamble
99
*/
100
virtual
void
ReceiveRachPreamble
(
uint32_t
prachId) = 0;
101
102
/**
103
* \brief Returns to MAC level the UL-CQI evaluated
104
* \param ulcqi the UL-CQI (see FF MAC API 4.3.29)
105
*/
106
virtual
void
UlCqiReport
(
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters
ulcqi) = 0;
107
108
/**
109
* Notify the HARQ on the UL transmission status
110
*
111
* \param params
112
*/
113
virtual
void
UlInfoListElementHarqFeedback
(
UlInfoListElement_s
params) = 0;
114
115
/**
116
* Notify the HARQ on the DL transmission status
117
*
118
* \param params
119
*/
120
virtual
void
DlInfoListElementHarqFeedback
(
DlInfoListElement_s
params) = 0;
121
};
122
123
}
// namespace ns3
124
125
#endif
// LTE_ENB_PHY_SAP_H
ns3::LteEnbPhySapProvider
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
Definition:
lte-enb-phy-sap.h:40
ns3::LteEnbPhySapProvider::SendLteControlMessage
virtual void SendLteControlMessage(Ptr< LteControlMessage > msg)=0
Send SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
ns3::LteEnbPhySapProvider::~LteEnbPhySapProvider
virtual ~LteEnbPhySapProvider()
Definition:
lte-enb-phy-sap.cc:25
ns3::LteEnbPhySapProvider::GetMacChTtiDelay
virtual uint8_t GetMacChTtiDelay()=0
Get the delay from MAC to Channel expressed in TTIs.
ns3::LteEnbPhySapProvider::SendMacPdu
virtual void SendMacPdu(Ptr< Packet > p)=0
Send the MAC PDU to the channel.
ns3::LteEnbPhySapUser
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
Definition:
lte-enb-phy-sap.h:70
ns3::LteEnbPhySapUser::ReceivePhyPdu
virtual void ReceivePhyPdu(Ptr< Packet > p)=0
Called by the Phy to notify the MAC of the reception of a new PHY-PDU.
ns3::LteEnbPhySapUser::UlCqiReport
virtual void UlCqiReport(FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqi)=0
Returns to MAC level the UL-CQI evaluated.
ns3::LteEnbPhySapUser::UlInfoListElementHarqFeedback
virtual void UlInfoListElementHarqFeedback(UlInfoListElement_s params)=0
Notify the HARQ on the UL transmission status.
ns3::LteEnbPhySapUser::~LteEnbPhySapUser
virtual ~LteEnbPhySapUser()
Definition:
lte-enb-phy-sap.cc:29
ns3::LteEnbPhySapUser::ReceiveLteControlMessage
virtual void ReceiveLteControlMessage(Ptr< LteControlMessage > msg)=0
Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
ns3::LteEnbPhySapUser::ReceiveRachPreamble
virtual void ReceiveRachPreamble(uint32_t prachId)=0
notify the reception of a RACH preamble on the PRACH
ns3::LteEnbPhySapUser::SubframeIndication
virtual void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)=0
Trigger the start from a new frame (input from Phy layer)
ns3::LteEnbPhySapUser::DlInfoListElementHarqFeedback
virtual void DlInfoListElementHarqFeedback(DlInfoListElement_s params)=0
Notify the HARQ on the DL transmission status.
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
uint32_t
ff-mac-common.h
ff-mac-sched-sap.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::DlInfoListElement_s
See section 4.3.23 dlInfoListElement.
Definition:
ff-mac-common.h:471
ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
Definition:
ff-mac-sched-sap.h:185
ns3::UlInfoListElement_s
See section 4.3.12 ulInfoListElement.
Definition:
ff-mac-common.h:325
src
lte
model
lte-enb-phy-sap.h
Generated on Tue May 28 2024 23:37:17 for ns-3 by
1.9.6