15#include "ns3/channel.h"
16#include "ns3/net-device.h"
17#include "ns3/packet.h"
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
void SetNoiseModel(Ptr< UanNoiseModel > noise)
Set the noise model this channel will use to determine ambient channel noise.
double GetNoiseDbHz(double fKhz)
Get the noise level on the channel.
void AddDevice(Ptr< UanNetDevice > dev, Ptr< UanTransducer > trans)
Adds device to receiver list for this channel.
Ptr< UanPropModel > m_prop
The propagation model.
static TypeId GetTypeId()
Register this type.
Ptr< UanNoiseModel > m_noise
The noise model.
~UanChannel() override
Dummy destructor, see DoDispose.
void DoDispose() override
Destructor implementation.
virtual void TxPacket(Ptr< UanTransducer > src, Ptr< Packet > packet, double txPowerDb, UanTxMode txmode)
Send a packet out on the channel.
std::size_t GetNDevices() const override
bool m_cleared
Has Clear ever been called on the channel.
Ptr< NetDevice > GetDevice(std::size_t i) const override
std::vector< std::pair< Ptr< UanNetDevice >, Ptr< UanTransducer > > > UanDeviceList
UanDeviceList is a standard template vector of pairs (UanNetDevice, UanTransducer)
UanDeviceList m_devList
The list of devices on this channel.
void SendUp(uint32_t i, Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp)
Send a packet up to the receiving UanTransducer.
void Clear()
Clear all pointer references.
void SetPropagationModel(Ptr< UanPropModel > prop)
Set the propagation model this channel will use for path loss/propagation delay.
Net device for UAN models.
The power delay profile returned by propagation models.
Base class for UAN Phy models.
Virtual base for Transducer objects.
Abstraction of packet modulation information.
Every class exported by the ns3 library is enclosed in the ns3 namespace.