#include <plc-phy.h>
Public Member Functions | |
| bool | StartTx (Ptr< Packet > p) |
| void | StartRx (Ptr< const Packet > p, uint32_t txId, Ptr< SpectrumValue > &rxPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo) |
| void | RxPsdChanged (uint32_t txId, Ptr< SpectrumValue > newRxPsd) |
| Ptr< PLC_Node > | GetNode (void) |
| void | SetDataFrameSentCallback (PLC_PhyDataFrameSentCallback c) |
| void | SetReceiveSuccessCallback (PhyRxEndOkCallback c) |
| void | SetReceiveErrorCallback (PhyRxEndErrorCallback c) |
| PLC_ChannelTransferImpl * | GetChannelTransferImpl (Ptr< PLC_Phy > rxPhy) |
| Ptr< PLC_TransferBase > | GetChannelTransferVector (Ptr< PLC_Phy > rxPhy) |
| void | NotifyDataFrameSent (void) |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
| static void | SetSymbolDuration (Time tSymbol) |
| Set the global symbol duration value for all PHYs. | |
| static Time | GetSymbolDuration (void) |
Protected Member Functions | |
| virtual void | DoStart (void) |
| virtual void | DoDispose (void) |
| virtual bool | DoStartTx (Ptr< Packet > p)=0 |
| virtual void | DoStartRx (Ptr< const Packet > p, uint32_t txId, Ptr< SpectrumValue > &rxPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo)=0 |
| virtual void | DoUpdateRxPsd (uint32_t txId, Ptr< SpectrumValue > newRxPsd)=0 |
| virtual PLC_ChannelTransferImpl * | DoGetChannelTransferImpl (Ptr< PLC_Phy > rxPhy)=0 |
Protected Attributes | |
| Ptr< PLC_Node > | m_node |
| PLC_PhyDataFrameSentCallback | m_data_frame_sent_callback |
| PhyRxEndOkCallback | m_receive_success_cb |
| PhyRxEndErrorCallback | m_receive_error_cb |
Static Protected Attributes | |
| static Time | symbol_duration = MicroSeconds(2240) |
Abstract base class for PLC PHYs
| PLC_ChannelTransferImpl * ns3::PLC_Phy::GetChannelTransferImpl | ( | Ptr< PLC_Phy > | rxPhy | ) |
| Ptr< PLC_TransferBase > ns3::PLC_Phy::GetChannelTransferVector | ( | Ptr< PLC_Phy > | rxPhy | ) |
| Ptr<PLC_Node> ns3::PLC_Phy::GetNode | ( | void | ) | [inline] |
| Time ns3::PLC_Phy::GetSymbolDuration | ( | void | ) | [static] |
| void ns3::PLC_Phy::NotifyDataFrameSent | ( | void | ) |
Notify subclasses that data frame has been sent
| void ns3::PLC_Phy::RxPsdChanged | ( | uint32_t | txId, |
| Ptr< SpectrumValue > | newRxPsd | ||
| ) |
Notify the PLC_Phy instance that the Power Spectral Density of the incoming waveform transmitted by interface txId has changed to newRxPsd
| txId | |
| newRxPsd |
| void ns3::PLC_Phy::SetDataFrameSentCallback | ( | PLC_PhyDataFrameSentCallback | c | ) |
Callback after a successful frame transmission
| c |
| void ns3::PLC_Phy::SetReceiveErrorCallback | ( | PhyRxEndErrorCallback | c | ) |
Callback for a failed datagram/message reception
| c |
| void ns3::PLC_Phy::SetReceiveSuccessCallback | ( | PhyRxEndOkCallback | c | ) |
Callback for a successful datagram/message reception
| c |
| void ns3::PLC_Phy::SetSymbolDuration | ( | Time | tSymbol | ) | [static] |
Set the global symbol duration value for all PHYs.
This method should not be called directly, but by calling PLC_TimeModel::SetPeriodicityModel, as the simulations time resolution will be adapted to symbol granularity
| tSymbol | Duration of a modulation symbol |
| void ns3::PLC_Phy::StartRx | ( | Ptr< const Packet > | p, |
| uint32_t | txId, | ||
| Ptr< SpectrumValue > & | rxPsd, | ||
| Time | duration, | ||
| Ptr< const PLC_TrxMetaInfo > | metaInfo | ||
| ) |
Notify the PLC_Phy instance of an incoming waveform
| p | the Packet associated with the incoming waveform |
| rxPsd | the Power Spectral Density of the incoming |
| duration | the duration of the incoming waveform |
| metaInfo | meta information for link performance emulation |
| bool ns3::PLC_Phy::StartTx | ( | Ptr< Packet > | p | ) |
Start transmitting a packet
| p | Packet |
| txPsd | Power Spectral Density of the waveform to be transmitted |
| duration | Time the packet needs for transmission |
1.7.6.1