Interface with transmitting ability. More...
#include <plc-interface.h>
Public Member Functions | |
PLC_TxInterface (Ptr< PLC_Node > associated_plc_node, Ptr< const SpectrumModel > sm) | |
void | SetIdx (uint32_t idx) |
uint32_t | GetTxIfIdx (void) const |
Ptr< const SpectrumValue > | GetTxPsd (void) |
void | InitializeChannelTransferImpls (void) |
void | CalculateChannels (void) |
PLC_ChannelTransferImpl * | GetChannelTransferImpl (PLC_RxInterface *rxInterface) |
std::list< PLC_BackboneBranch * > | GetBackbonePath (PLC_RxInterface *sink) |
PLC_BackbonePath::iterator | BackbonePathBegin (PLC_RxInterface *sink) |
PLC_BackbonePath::iterator | BackbonePathEnd (PLC_RxInterface *sink) |
void | StartTx (Ptr< const Packet > p, Ptr< const SpectrumValue > txPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Friends | |
class | PLC_Outlet |
Interface with transmitting ability.
Interface with receiving ability.
ns3::PLC_TxInterface::PLC_TxInterface | ( | Ptr< PLC_Node > | associated_plc_node, |
Ptr< const SpectrumModel > | sm | ||
) |
Constructor
associated_plc_node | PLC_Node the interface is located on |
sm | Spectrum model |
PLC_BackbonePath::iterator ns3::PLC_TxInterface::BackbonePathBegin | ( | PLC_RxInterface * | sink | ) |
sink | RX Interface of the backbone path |
PLC_BackbonePath::iterator ns3::PLC_TxInterface::BackbonePathEnd | ( | PLC_RxInterface * | sink | ) |
sink | RX Interface of the backbone path |
void ns3::PLC_TxInterface::CalculateChannels | ( | void | ) |
Calculate the channel transfer function to each receiver interface
Only call after InitializeChannelTransferImpls()
std::list< PLC_BackboneBranch * > ns3::PLC_TxInterface::GetBackbonePath | ( | PLC_RxInterface * | sink | ) |
Get the backbone path between this tx interface and the sink rx interface An empty list indicates a direct connection
sink | RX Interface of the backbone path |
PLC_ChannelTransferImpl * ns3::PLC_TxInterface::GetChannelTransferImpl | ( | PLC_RxInterface * | rxInterface | ) |
Get the channel transfer implementation that has the channel transfer data to rxInterface
rxInterface |
uint32_t ns3::PLC_TxInterface::GetTxIfIdx | ( | void | ) | const |
Ptr<const SpectrumValue> ns3::PLC_TxInterface::GetTxPsd | ( | void | ) | [inline] |
void ns3::PLC_TxInterface::InitializeChannelTransferImpls | ( | void | ) |
Initialize channel implementations from this transmission interface to each known receiver interface.
Only call after all interfaces have been added to PLC_Channel
void ns3::PLC_TxInterface::SetIdx | ( | uint32_t | idx | ) | [inline] |
Assign the index returned by PLC_Channel::AddTxInterface to this interface
idx |
void ns3::PLC_TxInterface::StartTx | ( | Ptr< const Packet > | p, |
Ptr< const SpectrumValue > | txPsd, | ||
Time | duration, | ||
Ptr< const PLC_TrxMetaInfo > | metaInfo | ||
) |
Start transmission from this tx interface
p | Packet to be transmitted or NULL for noise signal |
metaInfo | Meta information for link performance emulation |