#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. | |
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. | |
void | SetLteMacSapUser (LteMacSapUser *s) |
Set the MAC SAP user. | |
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 | Start (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) |
This method returns the TypeId associated to ns3::Object. |
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 | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
This class implements a testing loopback MAC layer
Definition at line 160 of file lte-test-entities.h.
Definition at line 209 of file lte-test-entities.h.
Definition at line 219 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, ns3::Seconds(), 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::Seconds(), 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::NetDevice::GetBroadcast(), ns3::Packet::GetSize(), m_device, m_macLoopback, m_macSapUser, 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(), ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::NetDevice::Send().
std::string ns3::LteTestMac::GetDataReceived | ( | void | ) |
Definition at line 413 of file lte-test-entities.cc.
References m_receivedData, and NS_LOG_FUNCTION.
Referenced by ns3::LteRlcAmTransmitterTestCase::DoCheckDataReceived(), and ns3::LteRlcUmTransmitterTestCase::DoCheckDataReceived().
LteMacSapProvider * ns3::LteTestMac::GetLteMacSapProvider | ( | void | ) |
Get the MAC SAP provider.
Definition at line 401 of file lte-test-entities.cc.
References m_macSapProvider.
Referenced by ns3::LteRlcAmTransmitterTestCase::DoRun(), ns3::LteRlcUmTransmitterTestCase::DoRun(), ns3::LteSimpleHelper::InstallSingleEnbDevice(), and ns3::LteSimpleHelper::InstallSingleUeDevice().
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 |
This method returns the TypeId associated to ns3::Object.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Object.
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, ns3::Simulator::Schedule(), and ns3::Seconds().
Referenced by ns3::LteRlcAmTransmitterOneSduTestCase::DoRun(), ns3::LteRlcUmTransmitterOneSduTestCase::DoRun(), ns3::LteRlcAmTransmitterSegmentationTestCase::DoRun(), ns3::LteRlcUmTransmitterSegmentationTestCase::DoRun(), ns3::LteRlcAmTransmitterConcatenationTestCase::DoRun(), ns3::LteRlcUmTransmitterConcatenationTestCase::DoRun(), ns3::LteRlcAmTransmitterReportBufferStatusTestCase::DoRun(), ns3::LteRlcUmTransmitterReportBufferStatusTestCase::DoRun(), and SetTxOpportunityMode().
Definition at line 389 of file lte-test-entities.cc.
References m_device.
Referenced by ns3::LteSimpleHelper::InstallSingleEnbDevice(), and ns3::LteSimpleHelper::InstallSingleUeDevice().
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.
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.
Referenced by ns3::LteRlcAmTransmitterTestCase::DoRun(), ns3::LteRlcUmTransmitterTestCase::DoRun(), ns3::LteSimpleHelper::InstallSingleEnbDevice(), and ns3::LteSimpleHelper::InstallSingleUeDevice().
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.
Referenced by ns3::LteRlcAmTransmitterTestCase::DoRun(), and ns3::LteRlcUmTransmitterTestCase::DoRun().
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, ns3::Seconds(), 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 163 of file lte-test-entities.h.
Definition at line 249 of file lte-test-entities.h.
Referenced by DoDispose(), DoTransmitPdu(), LteTestMac(), and SetDevice().
|
private |
Definition at line 241 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetLteMacLoopback().
|
private |
Definition at line 239 of file lte-test-entities.h.
Referenced by DoDispose(), GetLteMacSapProvider(), and LteTestMac().
|
private |
Definition at line 240 of file lte-test-entities.h.
Referenced by DoReportBufferStatus(), DoTransmitPdu(), LteTestMac(), Receive(), SendTxOpportunity(), and SetLteMacSapUser().
|
private |
Definition at line 252 of file lte-test-entities.h.
|
private |
Definition at line 246 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetPdcpHeaderPresent().
|
private |
Definition at line 243 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), and GetDataReceived().
|
private |
Definition at line 245 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), LteTestMac(), and SetRlcHeaderType().
|
private |
Definition at line 260 of file lte-test-entities.h.
Referenced by GetRxBytes(), LteTestMac(), and Receive().
|
private |
Definition at line 259 of file lte-test-entities.h.
Referenced by GetRxPdus(), LteTestMac(), and Receive().
|
private |
Definition at line 258 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), GetTxBytes(), and LteTestMac().
|
private |
Definition at line 247 of file lte-test-entities.h.
Referenced by DoReportBufferStatus(), LteTestMac(), SendTxOpportunity(), and SetTxOpportunityMode().
|
private |
Definition at line 254 of file lte-test-entities.h.
Referenced by LteTestMac(), SendTxOpportunity(), SetTxOpportunityMode(), and SetTxOppSize().
|
private |
Definition at line 253 of file lte-test-entities.h.
Referenced by LteTestMac(), SendTxOpportunity(), SetTxOpportunityMode(), and SetTxOppTime().
|
private |
Definition at line 257 of file lte-test-entities.h.
Referenced by DoTransmitPdu(), GetTxPdus(), and LteTestMac().