ns-3 PLC model
 All Classes Functions Variables Enumerations
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
ns3::PLC_NetDevice Class Reference

Abstract base class for PLC net devices. More...

#include <plc-net-device.h>

List of all members.

Public Member Functions

void SetPlcNode (Ptr< PLC_Node > plc_node)
Ptr< PLC_NodeGetPlcNode (void)
void SetSpectrumModel (Ptr< const SpectrumModel > sm)
void SetNoiseFloor (Ptr< const SpectrumValue > psd)
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txPsd)
void SetShuntImpedance (Ptr< PLC_Impedance > shuntImpedance)
void SetRxImpedance (Ptr< PLC_Impedance > rxImpedance)
void SetTxImpedance (Ptr< PLC_Impedance > txImpedance)
Ptr< PLC_ImpedanceGetShuntImpedance (void)
Ptr< PLC_ImpedanceGetRxImpedance (void)
Ptr< PLC_ImpedanceGetTxImpedance (void)
Ptr< PLC_OutletGetOutlet (void)
Ptr< const SpectrumModel > GetSpectrumModel (void)
void Receive (Ptr< Packet > p, Mac48Address from, Mac48Address to)
virtual void SetIfIndex (const uint32_t index)
virtual uint32_t GetIfIndex (void) const
virtual Ptr< Channel > GetChannel (void) const
virtual void SetAddress (Address address)
virtual Address GetAddress (void) const
virtual bool SetMtu (const uint16_t mtu)
virtual uint16_t GetMtu (void) const
virtual bool IsLinkUp (void) const
virtual void AddLinkChangeCallback (Callback< void > callback)
virtual bool IsBroadcast (void) const
virtual Address GetBroadcast (void) const
virtual bool IsMulticast (void) const
virtual Address GetMulticast (Ipv4Address multicastGroup) const
virtual Address GetMulticast (Ipv6Address addr) const
virtual bool IsBridge (void) const
virtual bool IsPointToPoint (void) const
virtual bool Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
virtual bool SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
virtual Ptr< Node > GetNode (void) const
virtual void SetNode (Ptr< Node > node)
virtual bool NeedsArp (void) const
virtual void SetReceiveCallback (ReceiveCallback cb)
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb)
virtual bool SupportsSendFrom (void) const
virtual bool ConfigComplete (void)
virtual void SetPhy (Ptr< PLC_Phy > phy)
virtual void SetMac (Ptr< PLC_Mac > mac)
virtual Ptr< PLC_PhyGetPhy (void)
virtual Ptr< PLC_MacGetMac (void)
PLC_ChannelTransferImplGetChannelTransferImpl (Ptr< PLC_NetDevice > dev)
void LinkUp (void)
void LinkDown (void)

Static Public Member Functions

static TypeId GetTypeId (void)

Protected Member Functions

virtual void DoDispose (void)
virtual void DoStart (void)
Ptr< Channel > DoGetChannel (void) const
virtual void CompleteConfig (void)

Protected Attributes

Ptr< const SpectrumModel > m_spectrum_model
Ptr< const SpectrumValue > m_noiseFloor
Ptr< SpectrumValue > m_txPsd
Ptr< Node > m_node
Ptr< PLC_Nodem_plc_node
Ptr< PLC_Outletm_outlet
Ptr< PLC_Phym_phy
Ptr< PLC_Macm_mac
bool m_linkUp
uint32_t m_ifIndex
uint32_t m_txIfIndex
uint32_t m_rxIfIndex
Ptr< PLC_Impedancem_shuntImpedance
Ptr< PLC_Impedancem_txImpedance
Ptr< PLC_Impedancem_rxImpedance
ModulationAndCodingType m_mcs
bool m_configComplete
ReceiveCallback m_receive_cb
PromiscReceiveCallback m_promiscuous_receive_cb
TracedCallback m_linkChanges

Detailed Description

Abstract base class for PLC net devices.

This class together with its subclasses are responsible for configuring PLC net devices. Thus, when all parameters have been set, the interconnection between PHY and MAC layer is performed by CompleteConfig()

Because the implementations of PLC_NetDevice use different PHY and MAC instances (simple vs. harq/ir) the respective configuration is done in the subclasses


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations