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

#include <plc-channel.h>

List of all members.

Public Member Functions

 PLC_EdgeTransferUnit (PLC_Edge *edge, PLC_Node *dst_node, Ptr< const SpectrumModel > sm, bool time_variant=false)
 ~PLC_EdgeTransferUnit (void)
PLC_EdgeGetEdge (void) const
PLC_NodeGetDstNode (void) const
void SetEdgeTransferVector (Ptr< PLC_TransferBase > ctv)
Ptr< PLC_TransferBaseGetEdgeTransferVector (void)
PLC_TransferBaseGetEdgeTransferVectorPtr (void)
bool IsUp2Date (void) const
void SetOutOfDate (void)
bool IsTimeVariant (void)
void Lock (void) const
void Unlock (void) const

Static Public Member Functions

static TypeId GetTypeId (void)

Friends

class PLC_Outlet

Detailed Description

PLC_EdgeTransferUnit holds the transfer function of a single edge of the PLC_Graph. The channel transfer function for a (tx,rx) tupel is the product of the path's PLC_EdgeTransferData. Each PLC_Edge references two PLC_EdgeTransferUnit instances (each for one direction).


Constructor & Destructor Documentation

ns3::PLC_EdgeTransferUnit::PLC_EdgeTransferUnit ( PLC_Edge edge,
PLC_Node dst_node,
Ptr< const SpectrumModel >  sm,
bool  time_variant = false 
)

Constructor

Parameters:
edgeAssociated edge
dst_nodeNode pointing to transfer direction
smSpectrum model
time_variantIf true channel transfer vector will be initialised as time variant value

Destructor


Member Function Documentation

PLC_Node* ns3::PLC_EdgeTransferUnit::GetDstNode ( void  ) const [inline]
Returns:
Destination node heading to transfer direction
PLC_Edge* ns3::PLC_EdgeTransferUnit::GetEdge ( void  ) const [inline]
Returns:
Associated edge of the PLC graph
Returns:
Previously assigned channel transfer vector or NULL
Returns:
Peek pointer of the channel transfer vector (for parallel processing)
Returns:
True if channel transfer vector is time variant
bool ns3::PLC_EdgeTransferUnit::IsUp2Date ( void  ) const [inline]
Returns:
True if channel transfer vector is still up to date
void ns3::PLC_EdgeTransferUnit::Lock ( void  ) const [inline]

Mutex lock and unlock

Set channel transfer vector for this edge unit pointing to m_dst_node

Parameters:
ctvChannel transfer vector
void ns3::PLC_EdgeTransferUnit::SetOutOfDate ( void  ) [inline]

Sets the channel transfer vector out of date


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