A Discrete-Event Network Simulator
API
WaveNetDeviceExample Class Reference

This simulation is to show the routing service of WaveNetDevice described in IEEE 09.4. More...

+ Collaboration diagram for WaveNetDeviceExample:

Public Member Functions

void SendIpExample (void)
 Send IP example function. More...
 
void SendWsaExample (void)
 Send WSA example. More...
 
void SendWsmpExample (void)
 Send WSMP example function. More...
 

Private Member Functions

void CreateWaveNodes (void)
 Create WAVE nodes function. More...
 
bool Receive (Ptr< NetDevice > dev, Ptr< const Packet > pkt, uint16_t mode, const Address &sender)
 Receive function. More...
 
bool ReceiveVsa (Ptr< const Packet > pkt, const Address &address, uint32_t, uint32_t)
 Receive VSA function. More...
 
void SendIpPacket (uint32_t seq, bool ipv6)
 Send IP packet function. More...
 
void SendOneWsmpPacket (uint32_t channel, uint32_t seq)
 Send one WSMP packet function. More...
 

Private Attributes

NetDeviceContainer devices
 the devices More...
 
NodeContainer nodes
 the nodes More...
 

Detailed Description

This simulation is to show the routing service of WaveNetDevice described in IEEE 09.4.

note: although txPowerLevel is supported now, the "TxPowerLevels" attribute of YansWifiPhy is 1 which means phy devices only support 1 levels. Thus, if users want to control txPowerLevel, they should set these attributes of YansWifiPhy by themselves..

Definition at line 40 of file wave-simple-device.cc.

Member Function Documentation

◆ CreateWaveNodes()

◆ Receive()

bool WaveNetDeviceExample::Receive ( Ptr< NetDevice dev,
Ptr< const Packet pkt,
uint16_t  mode,
const Address sender 
)
private

Receive function.

Parameters
devthe device
pktthe packet
modethe mode
senderthe sender address
Returns
true if successful

Definition at line 121 of file wave-simple-device.cc.

References ns3::Time::As(), ns3::SeqTsHeader::GetSeq(), ns3::SeqTsHeader::GetTs(), ns3::Now(), and ns3::Packet::PeekHeader().

Referenced by CreateWaveNodes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ReceiveVsa()

bool WaveNetDeviceExample::ReceiveVsa ( Ptr< const Packet pkt,
const Address address,
uint32_t  ,
uint32_t   
)
private

Receive VSA function.

Parameters
pktthe packet
addressthe address
Returns
true if successful

Definition at line 239 of file wave-simple-device.cc.

References ns3::Time::As(), and ns3::Now().

Referenced by CreateWaveNodes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendIpExample()

void WaveNetDeviceExample::SendIpExample ( void  )

Send IP example function.

Definition at line 202 of file wave-simple-device.cc.

References CreateWaveNodes(), devices, EXTENDED_ALTERNATING, ns3::NetDeviceContainer::Get(), Run(), SCH1, ns3::Seconds(), and SendIpPacket().

+ Here is the call graph for this function:

◆ SendIpPacket()

void WaveNetDeviceExample::SendIpPacket ( uint32_t  seq,
bool  ipv6 
)
private

Send IP packet function.

Parameters
seqthe sequence
ipv6true if IPV6

Definition at line 185 of file wave-simple-device.cc.

References ns3::Packet::AddHeader(), devices, ns3::NetDeviceContainer::Get(), ns3::WaveNetDevice::GetAddress(), ns3::WaveNetDevice::Send(), and ns3::SeqTsHeader::SetSeq().

Referenced by SendIpExample().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendOneWsmpPacket()

void WaveNetDeviceExample::SendOneWsmpPacket ( uint32_t  channel,
uint32_t  seq 
)
private

Send one WSMP packet function.

Parameters
channelthe channel to use
seqthe sequence

Definition at line 134 of file wave-simple-device.cc.

References ns3::Packet::AddHeader(), third::channel, devices, ns3::NetDeviceContainer::Get(), ns3::WaveNetDevice::SendX(), and ns3::SeqTsHeader::SetSeq().

Referenced by SendWsmpExample().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendWsaExample()

void WaveNetDeviceExample::SendWsaExample ( void  )

Send WSA example.

Definition at line 246 of file wave-simple-device.cc.

References CreateWaveNodes(), devices, EXTENDED_ALTERNATING, ns3::NetDeviceContainer::Get(), Run(), SCH1, ns3::Seconds(), and ns3::VSA_TRANSMIT_IN_BOTHI.

+ Here is the call graph for this function:

◆ SendWsmpExample()

void WaveNetDeviceExample::SendWsmpExample ( void  )

Send WSMP example function.

Definition at line 150 of file wave-simple-device.cc.

References CCH, CreateWaveNodes(), devices, EXTENDED_ALTERNATING, ns3::NetDeviceContainer::Get(), Run(), SCH1, SCH2, ns3::Seconds(), and SendOneWsmpPacket().

+ Here is the call graph for this function:

Member Data Documentation

◆ devices

NetDeviceContainer WaveNetDeviceExample::devices
private

◆ nodes

NodeContainer WaveNetDeviceExample::nodes
private

the nodes

Definition at line 84 of file wave-simple-device.cc.

Referenced by CreateWaveNodes().


The documentation for this class was generated from the following file: