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
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Marco Miozzo <mmiozzo@cttc.es>
7
*/
8
9
#ifndef LTE_ENB_PHY_SAP_H
10
#define LTE_ENB_PHY_SAP_H
11
12
#include "
ff-mac-common.h
"
13
#include "
ff-mac-sched-sap.h
"
14
15
#include <ns3/packet.h>
16
17
namespace
ns3
18
{
19
20
class
LteControlMessage;
21
22
/**
23
* Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC
24
*
25
* This is the PHY SAP Provider, i.e., the part of the SAP that contains
26
* the PHY methods called by the MAC
27
*/
28
class
LteEnbPhySapProvider
29
{
30
public
:
31
virtual
~LteEnbPhySapProvider
();
32
33
/**
34
* \brief Send the MAC PDU to the channel
35
* \param p the MAC PDU to send
36
*/
37
virtual
void
SendMacPdu
(
Ptr<Packet>
p) = 0;
38
39
/**
40
* \brief Send SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel
41
* \param msg the Ideal Control Message to send
42
*/
43
virtual
void
SendLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
44
45
/**
46
* \brief Get the delay from MAC to Channel expressed in TTIs
47
* \returns MAC channel TTI delay
48
*/
49
virtual
uint8_t
GetMacChTtiDelay
() = 0;
50
};
51
52
/**
53
* Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC
54
*
55
* This is the MAC SAP User, i.e., the part of the SAP that contains the MAC
56
* methods called by the PHY
57
*/
58
class
LteEnbPhySapUser
59
{
60
public
:
61
virtual
~LteEnbPhySapUser
();
62
63
/**
64
* Called by the Phy to notify the MAC of the reception of a new PHY-PDU
65
*
66
* \param p
67
*/
68
virtual
void
ReceivePhyPdu
(
Ptr<Packet>
p) = 0;
69
70
/**
71
* \brief Trigger the start from a new frame (input from Phy layer)
72
* \param frameNo frame number
73
* \param subframeNo subframe number
74
*/
75
virtual
void
SubframeIndication
(
uint32_t
frameNo,
uint32_t
subframeNo) = 0;
76
77
/**
78
* \brief Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control
79
* channel
80
* \param msg the Ideal Control Message to receive
81
*/
82
virtual
void
ReceiveLteControlMessage
(
Ptr<LteControlMessage>
msg) = 0;
83
84
/**
85
* notify the reception of a RACH preamble on the PRACH
86
*
87
* \param prachId the ID of the preamble
88
*/
89
virtual
void
ReceiveRachPreamble
(
uint32_t
prachId) = 0;
90
91
/**
92
* \brief Returns to MAC level the UL-CQI evaluated
93
* \param ulcqi the UL-CQI (see FF MAC API 4.3.29)
94
*/
95
virtual
void
UlCqiReport
(
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters
ulcqi) = 0;
96
97
/**
98
* Notify the HARQ on the UL transmission status
99
*
100
* \param params
101
*/
102
virtual
void
UlInfoListElementHarqFeedback
(
UlInfoListElement_s
params) = 0;
103
104
/**
105
* Notify the HARQ on the DL transmission status
106
*
107
* \param params
108
*/
109
virtual
void
DlInfoListElementHarqFeedback
(
DlInfoListElement_s
params) = 0;
110
};
111
112
}
// namespace ns3
113
114
#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:29
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:14
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:59
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:18
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
mpi-test-fixtures.h:37
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:460
ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
Definition
ff-mac-sched-sap.h:174
ns3::UlInfoListElement_s
See section 4.3.12 ulInfoListElement.
Definition
ff-mac-common.h:314
src
lte
model
lte-enb-phy-sap.h
Generated on Fri Nov 8 2024 13:59:03 for ns-3 by
1.11.0