#include <lte-test-entities.h>
Public Types | |
enum | RlcHeaderType_t { UM_RLC_HEADER = 0, AM_RLC_HEADER = 1 } |
enum | TxOpportunityMode_t { MANUAL_MODE = 0, AUTOMATIC_MODE = 1, RANDOM_MODE = 2 } |
Public Member Functions | |
LteTestMac (void) | |
virtual | ~LteTestMac (void) |
virtual void | DoDispose (void) |
std::string | GetDataReceived (void) |
LteMacSapProvider * | GetLteMacSapProvider (void) |
Get the MAC SAP provider. More... | |
uint32_t | GetRxBytes (void) |
uint32_t | GetRxPdus (void) |
uint32_t | GetTxBytes (void) |
uint32_t | GetTxPdus (void) |
bool | Receive (Ptr< NetDevice > nd, Ptr< const Packet > p, uint16_t protocol, const Address &addr) |
void | SendTxOpportunity (Time, uint32_t) |
void | SetDevice (Ptr< NetDevice > device) |
void | SetLteMacLoopback (Ptr< LteTestMac > s) |
Set the other side of the MAC Loopback. More... | |
void | SetLteMacSapUser (LteMacSapUser *s) |
Set the MAC SAP user. More... | |
void | SetPdcpHeaderPresent (bool present) |
void | SetRlcHeaderType (uint8_t rlcHeaderType) |
void | SetTxOpportunityMode (uint8_t mode) |
void | SetTxOppSize (uint32_t txOppSize) |
void | SetTxOppTime (Time txOppTime) |
![]() | |
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) |
Private Member Functions | |
void | DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters) |
void | DoTransmitPdu (LteMacSapProvider::TransmitPduParameters) |
Private Attributes | |
Ptr< NetDevice > | m_device |
Ptr< LteTestMac > | m_macLoopback |
LteMacSapProvider * | m_macSapProvider |
LteMacSapUser * | m_macSapUser |
EventId | m_nextTxOpp |
bool | m_pdcpHeaderPresent |
std::string | m_receivedData |
uint8_t | m_rlcHeaderType |
uint32_t | m_rxBytes |
uint32_t | m_rxPdus |
uint32_t | m_txBytes |
uint8_t | m_txOpportunityMode |
uint32_t | m_txOppSize |
Time | m_txOppTime |
uint32_t | m_txPdus |
Friends | |
class | EnbMacMemberLteMacSapProvider< LteTestMac > |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This class implements a testing loopback MAC layer
Definition at line 154 of file lte-test-entities.h.
Enumerator | |
---|---|
UM_RLC_HEADER | |
AM_RLC_HEADER |
Definition at line 203 of file lte-test-entities.h.
Enumerator | |
---|---|
MANUAL_MODE | |
AUTOMATIC_MODE | |
RANDOM_MODE |
Definition at line 213 of file lte-test-entities.h.
ns3::LteTestMac::LteTestMac | ( | void | ) |
Definition at line 346 of file lte-test-entities.cc.
References m_device, m_macLoopback, m_macSapProvider, m_macSapUser, m_pdcpHeaderPresent, m_rlcHeaderType, m_rxBytes, m_rxPdus, m_txBytes, m_txOpportunityMode, m_txOppSize, m_txOppTime, m_txPdus, MANUAL_MODE, NS_LOG_FUNCTION, and UM_RLC_HEADER.
|
virtual |
Definition at line 370 of file lte-test-entities.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.
Definition at line 376 of file lte-test-entities.cc.
References m_device, m_macSapProvider, and NS_LOG_FUNCTION.
|
private |
Definition at line 566 of file lte-test-entities.cc.
References AUTOMATIC_MODE, m_macSapUser, m_txOpportunityMode, ns3::LteMacSapUser::NotifyTxOpportunity(), NS_LOG_FUNCTION, ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueSize, ns3::Simulator::Schedule(), ns3::LteMacSapProvider::ReportBufferStatusParameters::statusPduSize, and ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueSize.
|
private |
MAC SAP
Definition at line 512 of file lte-test-entities.cc.
References AM_RLC_HEADER, ns3::Packet::CopyData(), ns3::Packet::GetSize(), m_device, m_macLoopback, m_pdcpHeaderPresent, m_receivedData, m_rlcHeaderType, m_txBytes, m_txPdus, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::LteMacSapProvider::TransmitPduParameters::pdu, ns3::LteMacSapUser::ReceivePdu(), ns3::Packet::RemoveHeader(), and ns3::Simulator::Schedule().
std::string ns3::LteTestMac::GetDataReceived | ( | void | ) |
Definition at line 413 of file lte-test-entities.cc.
References m_receivedData, and NS_LOG_FUNCTION.
LteMacSapProvider * ns3::LteTestMac::GetLteMacSapProvider | ( | void | ) |
Get the MAC SAP provider.
Definition at line 401 of file lte-test-entities.cc.
References m_macSapProvider.
uint32_t ns3::LteTestMac::GetRxBytes | ( | void | ) |
Definition at line 442 of file lte-test-entities.cc.
References m_rxBytes, and NS_LOG_FUNCTION.
uint32_t ns3::LteTestMac::GetRxPdus | ( | void | ) |
Definition at line 435 of file lte-test-entities.cc.
References m_rxPdus, and NS_LOG_FUNCTION.
uint32_t ns3::LteTestMac::GetTxBytes | ( | void | ) |
Definition at line 428 of file lte-test-entities.cc.
References m_txBytes, and NS_LOG_FUNCTION.
uint32_t ns3::LteTestMac::GetTxPdus | ( | void | ) |
Definition at line 421 of file lte-test-entities.cc.
References m_txPdus, and NS_LOG_FUNCTION.
|
static |
Definition at line 336 of file lte-test-entities.cc.
References ns3::TypeId::SetParent().
bool ns3::LteTestMac::Receive | ( | Ptr< NetDevice > | nd, |
Ptr< const Packet > | p, | ||
uint16_t | protocol, | ||
const Address & | addr | ||
) |
Definition at line 592 of file lte-test-entities.cc.
References ns3::Packet::Copy(), ns3::Packet::GetSize(), m_macSapUser, m_rxBytes, m_rxPdus, NS_LOG_FUNCTION, and ns3::LteMacSapUser::ReceivePdu().
Referenced by ns3::LteSimpleHelper::InstallSingleEnbDevice(), and ns3::LteSimpleHelper::InstallSingleUeDevice().
void ns3::LteTestMac::SendTxOpportunity | ( | Time | time, |
uint32_t | bytes | ||
) |
Definition at line 450 of file lte-test-entities.cc.
References m_macSapUser, m_txOpportunityMode, m_txOppSize, m_txOppTime, ns3::LteMacSapUser::NotifyTxOpportunity(), NS_LOG_FUNCTION, RANDOM_MODE, and ns3::Simulator::Schedule().
Referenced by SetTxOpportunityMode().
Definition at line 389 of file lte-test-entities.cc.
References m_device.
void ns3::LteTestMac::SetLteMacLoopback | ( | Ptr< LteTestMac > | s | ) |
Set the other side of the MAC Loopback.
s | a pointer to the other side of the MAC loopback |
Definition at line 407 of file lte-test-entities.cc.
References m_macLoopback, and s.
void ns3::LteTestMac::SetLteMacSapUser | ( | LteMacSapUser * | s | ) |
Set the MAC SAP user.
s | a pointer to the MAC SAP user |
Definition at line 395 of file lte-test-entities.cc.
References m_macSapUser, and s.
void ns3::LteTestMac::SetPdcpHeaderPresent | ( | bool | present | ) |
Definition at line 464 of file lte-test-entities.cc.
References m_pdcpHeaderPresent, and NS_LOG_FUNCTION.
void ns3::LteTestMac::SetRlcHeaderType | ( | uint8_t | rlcHeaderType | ) |
Definition at line 471 of file lte-test-entities.cc.
References m_rlcHeaderType, and NS_LOG_FUNCTION.
void ns3::LteTestMac::SetTxOpportunityMode | ( | uint8_t | mode | ) |
Definition at line 478 of file lte-test-entities.cc.
References m_txOpportunityMode, m_txOppSize, m_txOppTime, NS_LOG_FUNCTION, RANDOM_MODE, and SendTxOpportunity().
void ns3::LteTestMac::SetTxOppSize | ( | uint32_t | txOppSize | ) |
Definition at line 500 of file lte-test-entities.cc.
References m_txOppSize, and NS_LOG_FUNCTION.
void ns3::LteTestMac::SetTxOppTime | ( | Time | txOppTime | ) |
Definition at line 493 of file lte-test-entities.cc.
References m_txOppTime, and NS_LOG_FUNCTION.
|
friend |
Definition at line 157 of file lte-test-entities.h.
Definition at line 243 of file lte-test-entities.h.
Referenced by DoDispose(), DoTransmitPdu(), LteTestMac(), and SetDevice().
|
private |
Definition at line 235 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetLteMacLoopback().
|
private |
Definition at line 233 of file lte-test-entities.h.
Referenced by DoDispose(), GetLteMacSapProvider(), and LteTestMac().
|
private |
Definition at line 234 of file lte-test-entities.h.
Referenced by DoReportBufferStatus(), LteTestMac(), Receive(), SendTxOpportunity(), and SetLteMacSapUser().
|
private |
Definition at line 246 of file lte-test-entities.h.
|
private |
Definition at line 240 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetPdcpHeaderPresent().
|
private |
Definition at line 237 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), and GetDataReceived().
|
private |
Definition at line 239 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetRlcHeaderType().
|
private |
Definition at line 254 of file lte-test-entities.h.
Referenced by GetRxBytes(), LteTestMac(), and Receive().
|
private |
Definition at line 253 of file lte-test-entities.h.
Referenced by GetRxPdus(), LteTestMac(), and Receive().
|
private |
Definition at line 252 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), GetTxBytes(), and LteTestMac().
|
private |
Definition at line 241 of file lte-test-entities.h.
Referenced by DoReportBufferStatus(), LteTestMac(), SendTxOpportunity(), and SetTxOpportunityMode().
|
private |
Definition at line 248 of file lte-test-entities.h.
Referenced by LteTestMac(), SendTxOpportunity(), SetTxOpportunityMode(), and SetTxOppSize().
|
private |
Definition at line 247 of file lte-test-entities.h.
Referenced by LteTestMac(), SendTxOpportunity(), SetTxOpportunityMode(), and SetTxOppTime().
|
private |
Definition at line 251 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), GetTxPdus(), and LteTestMac().