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

#include <plc-outlet.h>

List of all members.

Public Member Functions

 PLC_Outlet (Ptr< PLC_Node > node, Ptr< PLC_Impedance > impedance=0)
 Constructor.
void RegisterBackboneBranch (Ptr< PLC_BackboneBranch > bb_branch)
void SetImpedance (Ptr< PLC_Impedance > impedance, bool updateImmediately=true)
Ptr< PLC_ImpedanceGetImpedance (void)
bool IsTimeVariant (void)
Ptr< PLC_NodeGetNode (void)
void SetRxInterface (Ptr< PLC_RxInterface > interface)
Ptr< PLC_RxInterfaceGetRxInterface (void)
void Lock (void) const
void Unlock (void) const

Static Public Member Functions

static TypeId GetTypeId (void)

Detailed Description

Class representing an outlet in the PLC network. An outlet has to be bound to a PLC_Node and an impedance can be assigned to it. The main purpose of PLC_Outlet is to define network nodes that may sporadically change their shunt impedance while the simulation is running. If this happens all affected cached equivalent impedances, edge transfer units and channel transfer functions are set out of date resulting in a recomputation of these values when needed the next time.


Constructor & Destructor Documentation

ns3::PLC_Outlet::PLC_Outlet ( Ptr< PLC_Node node,
Ptr< PLC_Impedance impedance = 0 
)

Constructor.

Parameters:
nodePLC_Node the outlet is connected to
impedancePLC_Impedance to connect with the outlet

Member Function Documentation

Returns:
The shunt impedance currently connected to the outlet
Ptr<PLC_Node> ns3::PLC_Outlet::GetNode ( void  ) [inline]
Returns:
The associated PLC_Node
Returns:
PLC_RxInterface bound to this node or NULL
Returns:
True if the outlet's impedance is time variant
void ns3::PLC_Outlet::Lock ( void  ) const [inline]

Mutex lock and unlock

Register a PLC_BackboneBranch which is affected by an impedance change of this outlet. This is done by the depth first search algorithm within PLC_ChannelTransferImpl::DiscoverOutlets

Parameters:
bb_branchAffected PLC_BackboneBranch
void ns3::PLC_Outlet::SetImpedance ( Ptr< PLC_Impedance impedance,
bool  updateImmediately = true 
)

Change the shunt impedance of the outlet and set all affected values of the PLC network out of date.

Parameters:
impedanceNew shunt impedance
updateImmediatelyIf true all channels and currently active receive PSDs will be recalculated

Notify the outlet that it has an RX interface on top. This is necessary to set out of date all backbone paths leading to this node.


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