#include <plc-channel.h>
Public Member Functions | |
PLC_EdgeTransferUnit (PLC_Edge *edge, PLC_Node *dst_node, Ptr< const SpectrumModel > sm, bool time_variant=false) | |
~PLC_EdgeTransferUnit (void) | |
PLC_Edge * | GetEdge (void) const |
PLC_Node * | GetDstNode (void) const |
void | SetEdgeTransferVector (Ptr< PLC_TransferBase > ctv) |
Ptr< PLC_TransferBase > | GetEdgeTransferVector (void) |
PLC_TransferBase * | GetEdgeTransferVectorPtr (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 |
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).
ns3::PLC_EdgeTransferUnit::PLC_EdgeTransferUnit | ( | PLC_Edge * | edge, |
PLC_Node * | dst_node, | ||
Ptr< const SpectrumModel > | sm, | ||
bool | time_variant = false |
||
) |
Constructor
edge | Associated edge |
dst_node | Node pointing to transfer direction |
sm | Spectrum model |
time_variant | If true channel transfer vector will be initialised as time variant value |
ns3::PLC_EdgeTransferUnit::~PLC_EdgeTransferUnit | ( | void | ) | [inline] |
Destructor
PLC_Node* ns3::PLC_EdgeTransferUnit::GetDstNode | ( | void | ) | const [inline] |
PLC_Edge* ns3::PLC_EdgeTransferUnit::GetEdge | ( | void | ) | const [inline] |
Ptr< PLC_TransferBase > ns3::PLC_EdgeTransferUnit::GetEdgeTransferVector | ( | void | ) |
PLC_TransferBase* ns3::PLC_EdgeTransferUnit::GetEdgeTransferVectorPtr | ( | void | ) | [inline] |
bool ns3::PLC_EdgeTransferUnit::IsTimeVariant | ( | void | ) |
bool ns3::PLC_EdgeTransferUnit::IsUp2Date | ( | void | ) | const [inline] |
void ns3::PLC_EdgeTransferUnit::Lock | ( | void | ) | const [inline] |
Mutex lock and unlock
void ns3::PLC_EdgeTransferUnit::SetEdgeTransferVector | ( | Ptr< PLC_TransferBase > | ctv | ) |
Set channel transfer vector for this edge unit pointing to m_dst_node
ctv | Channel transfer vector |
void ns3::PLC_EdgeTransferUnit::SetOutOfDate | ( | void | ) | [inline] |
Sets the channel transfer vector out of date