LTE_RLC Saturation Mode (SM): simulation-specific mode used for experiments that do not need to consider the layers above the LTE_RLC. More...
#include <lte-rlc.h>
Public Member Functions | |
LteRlcSm () | |
virtual | ~LteRlcSm () |
virtual void | DoDispose () |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
virtual void | DoInitialize () |
This method is called only once by Object::Initialize. More... | |
virtual void | DoNotifyHarqDeliveryFailure () |
virtual void | DoNotifyTxOpportunity (uint32_t bytes, uint8_t layer, uint8_t harqId) |
virtual void | DoReceivePdu (Ptr< Packet > p) |
virtual void | DoTransmitPdcpPdu (Ptr< Packet > p) |
![]() | |
LteRlc () | |
virtual | ~LteRlc () |
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) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
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) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
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 TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
void | ReportBufferStatus () |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
![]() | |
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 |
Used to inform of a PDU reception from the MAC SAP user. More... | |
TracedCallback< uint16_t, uint8_t, uint32_t > | m_txPdu |
Used to inform of a PDU delivery to the MAC SAP provider. More... | |
LTE_RLC Saturation Mode (SM): simulation-specific mode used for experiments that do not need to consider the layers above the LTE_RLC.
The LTE_RLC SM, unlike the standard LTE_RLC modes, it does not provide data delivery services to upper layers; rather, it just generates a new LTE_RLC PDU whenever the MAC notifies a transmission opportunity.
ns3::LteRlcSm is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
ns3::LteRlcSm::LteRlcSm | ( | ) |
Definition at line 172 of file lte-rlc.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 177 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::LteRlc.
Definition at line 200 of file lte-rlc.cc.
References ns3::LteRlc::DoDispose(), and NS_LOG_FUNCTION.
|
virtual |
This method is called only once by Object::Initialize.
If the user calls Object::Initialize multiple times, DoInitialize is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
Definition at line 193 of file lte-rlc.cc.
References NS_LOG_FUNCTION, and ReportBufferStatus().
|
virtual |
|
virtual |
Implements ns3::LteRlc.
Definition at line 231 of file lte-rlc.cc.
References ns3::Packet::AddByteTag(), ns3::LteMacSapProvider::TransmitPduParameters::harqProcessId, ns3::LteMacSapProvider::TransmitPduParameters::layer, ns3::LteMacSapProvider::TransmitPduParameters::lcid, ns3::LteRlc::m_lcid, ns3::LteRlc::m_macSapProvider, ns3::LteRlc::m_rnti, ns3::LteRlc::m_txPdu, ns3::Simulator::Now(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::LteMacSapProvider::TransmitPduParameters::pdu, ReportBufferStatus(), ns3::LteMacSapProvider::TransmitPduParameters::rnti, and ns3::LteMacSapProvider::TransmitPdu().
Implements ns3::LteRlc.
Definition at line 213 of file lte-rlc.cc.
References ns3::Packet::FindFirstMatchingByteTag(), ns3::Time::GetNanoSeconds(), ns3::RlcTag::GetSenderTimestamp(), ns3::Packet::GetSize(), ns3::LteRlc::m_lcid, ns3::LteRlc::m_rnti, ns3::LteRlc::m_rxPdu, ns3::Simulator::Now(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Implements ns3::LteRlc.
Definition at line 207 of file lte-rlc.cc.
References NS_LOG_FUNCTION.
|
static |
Definition at line 183 of file lte-rlc.cc.
References ns3::TypeId::SetParent().
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::LteEnbRrc::GetRlcType(), and ns3::UeManager::SetupDataRadioBearer().
|
private |
Definition at line 260 of file lte-rlc.cc.
References ns3::LteMacSapProvider::ReportBufferStatusParameters::lcid, ns3::LteRlc::m_lcid, ns3::LteRlc::m_macSapProvider, ns3::LteRlc::m_rnti, NS_LOG_FUNCTION, ns3::LteMacSapProvider::ReportBufferStatus(), ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueHolDelay, ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueSize, ns3::LteMacSapProvider::ReportBufferStatusParameters::rnti, ns3::LteMacSapProvider::ReportBufferStatusParameters::statusPduSize, ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueHolDelay, and ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueSize.
Referenced by DoInitialize(), and DoNotifyTxOpportunity().