#include <lte-rlc.h>
Public Member Functions | |
LteRlc () | |
virtual | ~LteRlc () |
virtual void | DoDispose () |
LteMacSapUser * | GetLteMacSapUser () |
LteRlcSapProvider * | GetLteRlcSapProvider () |
void | SetLcId (uint8_t lcId) |
void | SetLteMacSapProvider (LteMacSapProvider *s) |
void | SetLteRlcSapUser (LteRlcSapUser *s) |
void | SetRnti (uint16_t rnti) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoNotifyHarqDeliveryFailure ()=0 |
virtual void | DoNotifyTxOpportunity (uint32_t bytes, uint8_t layer, uint8_t harqId)=0 |
virtual void | DoReceivePdu (Ptr< Packet > p)=0 |
virtual void | DoTransmitPdcpPdu (Ptr< Packet > p)=0 |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Protected Attributes | |
uint8_t | m_lcid |
LteMacSapProvider * | m_macSapProvider |
LteMacSapUser * | m_macSapUser |
LteRlcSapProvider * | m_rlcSapProvider |
LteRlcSapUser * | m_rlcSapUser |
uint16_t | m_rnti |
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > | m_rxPdu |
TracedCallback< uint16_t, uint8_t, uint32_t > | m_txPdu |
Friends | |
class | LteRlcSpecificLteMacSapUser |
class | LteRlcSpecificLteRlcSapProvider< LteRlc > |
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE, see 3GPP TS 36.322
ns3::LteRlc is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
ns3::LteRlc::LteRlc | ( | ) |
Definition at line 86 of file lte-rlc.cc.
References LteRlcSpecificLteMacSapUser, m_macSapUser, m_rlcSapProvider, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 97 of file lte-rlc.cc.
References NS_LOG_FUNCTION.
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Reimplemented in ns3::LteRlcSm, ns3::LteRlcAm, ns3::LteRlcTm, and ns3::LteRlcUm.
Definition at line 117 of file lte-rlc.cc.
References m_macSapUser, m_rlcSapProvider, and NS_LOG_FUNCTION.
Referenced by ns3::LteRlcTm::DoDispose(), ns3::LteRlcUm::DoDispose(), ns3::LteRlcAm::DoDispose(), and ns3::LteRlcSm::DoDispose().
|
protectedpure virtual |
Implemented in ns3::LteRlcSm, ns3::LteRlcAm, ns3::LteRlcTm, and ns3::LteRlcUm.
Referenced by ns3::LteRlcSpecificLteMacSapUser::NotifyHarqDeliveryFailure().
|
protectedpure virtual |
Implemented in ns3::LteRlcSm, ns3::LteRlcAm, ns3::LteRlcTm, and ns3::LteRlcUm.
Referenced by ns3::LteRlcSpecificLteMacSapUser::NotifyTxOpportunity().
Implemented in ns3::LteRlcSm, ns3::LteRlcAm, ns3::LteRlcTm, and ns3::LteRlcUm.
Referenced by ns3::LteRlcSpecificLteMacSapUser::ReceivePdu().
Implemented in ns3::LteRlcSm, ns3::LteRlcAm, ns3::LteRlcTm, and ns3::LteRlcUm.
LteMacSapUser * ns3::LteRlc::GetLteMacSapUser | ( | ) |
s | the MAC SAP User interface offered to the MAC by this LTE_RLC |
Definition at line 160 of file lte-rlc.cc.
References m_macSapUser, and NS_LOG_FUNCTION.
LteRlcSapProvider * ns3::LteRlc::GetLteRlcSapProvider | ( | ) |
s | the RLC SAP Provider interface offered to the PDCP by this LTE_RLC |
Definition at line 146 of file lte-rlc.cc.
References m_rlcSapProvider, and NS_LOG_FUNCTION.
|
static |
Definition at line 102 of file lte-rlc.cc.
References m_rxPdu, m_txPdu, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void ns3::LteRlc::SetLcId | ( | uint8_t | lcId | ) |
void ns3::LteRlc::SetLteMacSapProvider | ( | LteMacSapProvider * | s | ) |
s | the MAC SAP Provider to be used by this LTE_RLC |
Definition at line 153 of file lte-rlc.cc.
References m_macSapProvider, NS_LOG_FUNCTION, and s.
void ns3::LteRlc::SetLteRlcSapUser | ( | LteRlcSapUser * | s | ) |
s | the RLC SAP user to be used by this LTE_RLC |
Definition at line 139 of file lte-rlc.cc.
References m_rlcSapUser, NS_LOG_FUNCTION, and s.
void ns3::LteRlc::SetRnti | ( | uint16_t | rnti | ) |
|
friend |
|
friend |
|
protected |
Definition at line 123 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcTm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::LteRlcAm::DoReportBufferStatus(), ns3::LteRlcUm::DoTransmitPdcpPdu(), ns3::LteRlcTm::DoTransmitPdcpPdu(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LteRlcUm::ExpireReorderingTimer(), ns3::LteRlcSm::ReportBufferStatus(), and SetLcId().
|
protected |
Definition at line 120 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::LteRlcAm::DoReportBufferStatus(), ns3::LteRlcSm::ReportBufferStatus(), and SetLteMacSapProvider().
|
protected |
Definition at line 119 of file lte-rlc.h.
Referenced by DoDispose(), GetLteMacSapUser(), and LteRlc().
|
protected |
Definition at line 112 of file lte-rlc.h.
Referenced by DoDispose(), GetLteRlcSapProvider(), and LteRlc().
|
protected |
Definition at line 111 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoReceivePdu(), ns3::LteRlcUm::ReassembleAndDeliver(), ns3::LteRlcAm::ReassembleAndDeliver(), and SetLteRlcSapUser().
|
protected |
Definition at line 122 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcTm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::LteRlcAm::DoReportBufferStatus(), ns3::LteRlcUm::DoTransmitPdcpPdu(), ns3::LteRlcTm::DoTransmitPdcpPdu(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LteRlcUm::ExpireReorderingTimer(), ns3::LteRlcSm::ReportBufferStatus(), and SetRnti().
|
protected |
Used to inform of a PDU reception from the MAC SAP user
Definition at line 132 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoReceivePdu(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), and GetTypeId().
|
protected |
Used to inform of a PDU delivery to the MAC SAP provider
Definition at line 128 of file lte-rlc.h.
Referenced by ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), and GetTypeId().