Abstract base class for transmitter and receiver interfaces. More...
#include <plc-interface.h>
Public Member Functions | |
PLC_Interface (Ptr< PLC_Node > associated_plc_node, Ptr< const SpectrumModel > sm) | |
Ptr< PLC_Graph > | GetGraph (void) |
Ptr< PLC_Channel > | GetChannel (void) |
void | SetPhy (Ptr< PLC_Phy > phy) |
Ptr< PLC_Phy > | GetPhy (void) |
void | SetNode (Ptr< PLC_Node > node) |
Ptr< PLC_Node > | GetNode (void) const |
PLC_Node * | GetNodePeekPointer (void) const |
void | Lock (void) |
void | Unlock (void) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | pureVirtualDummy (void)=0 |
virtual void | DoDispose (void) |
Protected Attributes | |
PLC_Mutex | m_mutex |
Ptr< PLC_Node > | m_plc_node |
Ptr< const SpectrumModel > | m_spectrum_model |
Ptr< PLC_Phy > | m_phy |
Abstract base class for transmitter and receiver interfaces.
Transmission channels will be calculated for each transmitter-receiver pair. Because not every device has to be duplex the computational costs can be reduced by distinction between transmitting and receiving interfaces
ns3::PLC_Interface::PLC_Interface | ( | Ptr< PLC_Node > | associated_plc_node, |
Ptr< const SpectrumModel > | sm | ||
) |
Constructor
associated_plc_node | PLC_Node the interface is located on |
sm | Spectrum model |
Ptr< PLC_Channel > ns3::PLC_Interface::GetChannel | ( | void | ) |
Ptr< PLC_Graph > ns3::PLC_Interface::GetGraph | ( | void | ) |
Ptr<PLC_Node> ns3::PLC_Interface::GetNode | ( | void | ) | const [inline] |
Ptr< PLC_Phy > ns3::PLC_Interface::GetPhy | ( | void | ) |
void ns3::PLC_Interface::Lock | ( | void | ) | [inline] |
Mutex lock and unlock
void ns3::PLC_Interface::SetNode | ( | Ptr< PLC_Node > | node | ) | [inline] |
Bind interface to node
node |
void ns3::PLC_Interface::SetPhy | ( | Ptr< PLC_Phy > | phy | ) |
Define PLC_Phy instance that uses this interface
phy |