|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
20 #ifndef WAVE_NET_DEVICE_H
21 #define WAVE_NET_DEVICE_H
25 #include "ns3/packet.h"
26 #include "ns3/traced-callback.h"
27 #include "ns3/mac48-address.h"
28 #include "ns3/wifi-net-device.h"
39 class ChannelScheduler;
184 std::map<uint32_t, Ptr<OcbWifiMac> >
GetMacs (
void)
const;
197 std::vector<Ptr<WifiPhy> >
GetPhys (
void)
const;
241 bool StopSch (uint32_t channelNumber);
252 bool StopVsa (uint32_t channelNumber);
331 virtual void SetIfIndex (
const uint32_t index);
336 virtual bool SetMtu (
const uint16_t mtu);
337 virtual uint16_t
GetMtu (
void)
const;
382 typedef std::map<uint32_t, Ptr<OcbWifiMac> >::const_iterator
MacEntitiesI;
a unique identifier for an interface.
WifiPreamble preamble
preamble
static TypeId GetTypeId(void)
Get the type ID.
NetDevice::PromiscReceiveCallback m_promiscRx
promiscious receive callback
virtual void DoInitialize(void)
Initialize() implementation.
bool DeleteTxProfile(uint32_t channelNumber)
uint32_t priority
priority
This class holds together multiple, ns3::WifiPhy, and ns3::OcbWifiMac (including ns3::WifiRemoteStati...
virtual bool IsLinkUp(void) const
void SetChannelScheduler(Ptr< ChannelScheduler > channelScheduler)
void ChangeAddress(Address newAddress)
Ptr< WifiPhy > GetPhy(void) const
Every class exported by the ns3 library is enclosed in the ns3 namespace.
MacEntities m_macEntities
MAC entities.
bool IsAvailableChannel(uint32_t channelNumber) const
virtual bool SetMtu(const uint16_t mtu)
virtual void DoDispose(void)
Destructor implementation.
virtual uint16_t GetMtu(void) const
std::map< uint32_t, Ptr< OcbWifiMac > > GetMacs(void) const
Ptr< VsaManager > m_vsaManager
the VSA manager
std::vector< Ptr< WifiPhy > >::const_iterator PhyEntitiesI
PhyEntities iterator typedef.
uint32_t channelNumber
channel number
Ptr< ChannelManager > GetChannelManager(void) const
Ipv4 addresses are stored in host order in this class.
Describes an IPv6 address.
void SetWaveVsaCallback(WaveVsaCallback vsaCallback)
std::vector< Ptr< WifiPhy > > PhyEntities
PhyEntities typedef.
virtual Ptr< Channel > GetChannel(void) const
virtual void SetIfIndex(const uint32_t index)
Ptr< ChannelCoordinator > GetChannelCoordinator(void) const
Ptr< ChannelCoordinator > m_channelCoordinator
the channel coordinator
bool RegisterTxProfile(const TxProfile &txprofile)
WifiMode dataRate
data rate
static const uint16_t MAX_MSDU_SIZE
This value conforms to the 802.11 specification.
static const uint16_t IPv4_PROT_NUMBER
IP v4 Protocol number.
Hold together all Wifi-related objects.
TxInfo(uint32_t channel, uint32_t prio=7, WifiMode rate=WifiMode(), WifiPreamble preamble=WIFI_PREAMBLE_LONG, uint32_t powerLevel=8)
Initializer.
void AddPhy(Ptr< WifiPhy > phy)
virtual Address GetBroadcast(void) const
represent a single transmission mode
std::vector< Ptr< WifiPhy > > GetPhys(void) const
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
uint32_t txPowerLevel
transmit power level
a polymophic address class
uint32_t m_ifIndex
IF index.
uint32_t channelNumber
channel number
virtual void AddLinkChangeCallback(Callback< void > callback)
Ptr< ChannelScheduler > GetChannelScheduler(void) const
void ForwardUp(Ptr< const Packet > packet, Mac48Address from, Mac48Address to)
Receive a packet from the lower layer and pass the packet up the stack.
virtual bool IsPointToPoint(void) const
Return true if the net device is on a point-to-point link.
TracedCallback< Address, Address > m_addressChange
WifiMode dataRate
data rate
void CancelTx(uint32_t channelNumber, enum AcIndex ac)
Ptr< ChannelManager > m_channelManager
the channel manager
virtual Address GetMulticast(Ipv4Address multicastGroup) const
Make and return a MAC multicast address using the provided multicast group.
bool StartVsa(const VsaInfo &vsaInfo)
static const uint16_t IPv6_PROT_NUMBER
IP v6 Protocol number.
virtual void SetAddress(Address address)
Set the address of this interface.
WifiPreamble preamble
preamble
void SetChannelCoordinator(Ptr< ChannelCoordinator > channelCoordinator)
PhyEntities m_phyEntities
Phy entities.
std::map< uint32_t, Ptr< OcbWifiMac > >::const_iterator MacEntitiesI
MacEntities iterator typedef.
WifiPreamble
The type of preamble to be used by an IEEE 802.11 transmission.
void AddMac(uint32_t channelNumber, Ptr< OcbWifiMac > mac)
virtual bool IsMulticast(void) const
bool StartSch(const SchInfo &schInfo)
virtual uint32_t GetIfIndex(void) const
Ptr< ChannelScheduler > m_channelScheduler
the channel scheduler
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
Ptr< VsaManager > GetVsaManager(void) const
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
std::map< uint32_t, Ptr< OcbWifiMac > > MacEntities
MacEntities typedef.
virtual bool IsBridge(void) const
Return true if the net device is acting as a bridge.
virtual bool IsBroadcast(void) const
Forward calls to a chain of Callback.
virtual ~WaveNetDevice(void)
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
bool StopVsa(uint32_t channelNumber)
NetDevice::ReceiveCallback m_forwardUp
forward up receive callback
virtual Address GetAddress(void) const
Callback< bool, Ptr< const Packet >, const Address &, uint32_t, uint32_t > WaveVsaCallback
virtual bool SupportsSendFrom(void) const
TxProfile(void)
Initializer.
bool SendX(Ptr< Packet > packet, const Address &dest, uint32_t protocol, const TxInfo &txInfo)
TxProfile(uint32_t channel, bool adapt=true, uint32_t powerLevel=4)
Initializer.
void SetVsaManager(Ptr< VsaManager > vsaManager)
uint32_t txPowerLevel
transmit power level
virtual bool NeedsArp(void) const
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
bool StopSch(uint32_t channelNumber)
TxProfile * m_txProfile
transmit profile
Ptr< WifiMac > GetMac(void) const
void SetChannelManager(Ptr< ChannelManager > channelManager)