A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
lte-rlc-tm.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011,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: Manuel Requena <manuel.requena@cttc.es>
19
* Nicola Baldo <nbaldo@cttc.es>
20
*/
21
22
#ifndef LTE_RLC_TM_H
23
#define LTE_RLC_TM_H
24
25
#include "ns3/lte-rlc.h"
26
27
#include <ns3/event-id.h>
28
#include <map>
29
30
namespace
ns3
{
31
39
class
LteRlcTm
:
public
LteRlc
40
{
41
public
:
42
LteRlcTm
();
43
virtual
~LteRlcTm
();
48
static
TypeId
GetTypeId
(
void
);
49
virtual
void
DoDispose
();
50
56
virtual
void
DoTransmitPdcpPdu
(
Ptr<Packet>
p);
57
63
virtual
void
DoNotifyTxOpportunity
(
LteMacSapUser::TxOpportunityParameters
txOpParams);
67
virtual
void
DoNotifyHarqDeliveryFailure
();
68
virtual
void
DoReceivePdu
(
LteMacSapUser::ReceivePduParameters
rxPduParams);
69
70
private
:
72
void
ExpireRbsTimer
(
void
);
74
void
DoReportBufferStatus
();
75
76
private
:
80
struct
TxPdu
81
{
87
TxPdu
(
const
Ptr<Packet>
&pdu,
const
Time
&time) :
88
m_pdu
(pdu),
89
m_waitingSince
(time)
90
{ }
91
92
TxPdu
() =
delete
;
93
94
Ptr<Packet>
m_pdu
;
95
Time
m_waitingSince
;
96
};
97
98
std::vector < TxPdu >
m_txBuffer
;
99
100
uint32_t
m_maxTxBufferSize
;
101
uint32_t
m_txBufferSize
;
102
103
EventId
m_rbsTimer
;
104
};
105
106
107
}
// namespace ns3
108
109
#endif
// LTE_RLC_TM_H
ns3::EventId
An identifier for simulation events.
Definition:
event-id.h:54
ns3::LteRlc
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE,...
Definition:
lte-rlc.h:51
ns3::LteRlcTm
LTE RLC Transparent Mode (TM), see 3GPP TS 36.322.
Definition:
lte-rlc-tm.h:40
ns3::LteRlcTm::DoReportBufferStatus
void DoReportBufferStatus()
Report buffer status.
Definition:
lte-rlc-tm.cc:180
ns3::LteRlcTm::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition:
lte-rlc-tm.cc:46
ns3::LteRlcTm::ExpireRbsTimer
void ExpireRbsTimer(void)
Expire RBS timer function.
Definition:
lte-rlc-tm.cc:206
ns3::LteRlcTm::DoReceivePdu
virtual void DoReceivePdu(LteMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU function.
Definition:
lte-rlc-tm.cc:164
ns3::LteRlcTm::m_txBufferSize
uint32_t m_txBufferSize
transmit buffer size
Definition:
lte-rlc-tm.h:101
ns3::LteRlcTm::m_rbsTimer
EventId m_rbsTimer
RBS timer.
Definition:
lte-rlc-tm.h:103
ns3::LteRlcTm::DoDispose
virtual void DoDispose()
Destructor implementation.
Definition:
lte-rlc-tm.cc:62
ns3::LteRlcTm::DoNotifyTxOpportunity
virtual void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters txOpParams)
MAC SAP.
Definition:
lte-rlc-tm.cc:109
ns3::LteRlcTm::DoNotifyHarqDeliveryFailure
virtual void DoNotifyHarqDeliveryFailure()
Notify HARQ deliver failure.
Definition:
lte-rlc-tm.cc:158
ns3::LteRlcTm::DoTransmitPdcpPdu
virtual void DoTransmitPdcpPdu(Ptr< Packet > p)
RLC SAP.
Definition:
lte-rlc-tm.cc:77
ns3::LteRlcTm::LteRlcTm
LteRlcTm()
Definition:
lte-rlc-tm.cc:33
ns3::LteRlcTm::~LteRlcTm
virtual ~LteRlcTm()
Definition:
lte-rlc-tm.cc:40
ns3::LteRlcTm::m_txBuffer
std::vector< TxPdu > m_txBuffer
Transmission buffer.
Definition:
lte-rlc-tm.h:98
ns3::LteRlcTm::m_maxTxBufferSize
uint32_t m_maxTxBufferSize
maximum transmit buffer size
Definition:
lte-rlc-tm.h:100
ns3::Ptr< Packet >
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:103
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LteMacSapUser::ReceivePduParameters
Parameters for LteMacSapUser::ReceivePdu.
Definition:
lte-mac-sap.h:157
ns3::LteMacSapUser::TxOpportunityParameters
Parameters for LteMacSapUser::NotifyTxOpportunity.
Definition:
lte-mac-sap.h:104
ns3::LteRlcTm::TxPdu
Store an incoming (from layer above us) PDU, waiting to transmit it.
Definition:
lte-rlc-tm.h:81
ns3::LteRlcTm::TxPdu::TxPdu
TxPdu()=delete
ns3::LteRlcTm::TxPdu::m_pdu
Ptr< Packet > m_pdu
PDU.
Definition:
lte-rlc-tm.h:94
ns3::LteRlcTm::TxPdu::TxPdu
TxPdu(const Ptr< Packet > &pdu, const Time &time)
TxPdu default constructor.
Definition:
lte-rlc-tm.h:87
ns3::LteRlcTm::TxPdu::m_waitingSince
Time m_waitingSince
Layer arrival time.
Definition:
lte-rlc-tm.h:95
src
lte
model
lte-rlc-tm.h
Generated on Tue Feb 6 2024 19:21:22 for ns-3 by
1.9.1