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 functon. 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... | |
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.
|
private |
Create WAVE nodes function.
Definition at line 88 of file wave-simple-device.cc.
References ns3::ListPositionAllocator::Add(), ns3::YansWifiChannelHelper::Create(), ns3::YansWavePhyHelper::Default(), ns3::YansWifiChannelHelper::Default(), ns3::QosWaveMacHelper::Default(), ns3::WaveHelper::Default(), first::devices, ns3::WifiPhyHelper::DLT_IEEE802_11, ns3::PcapHelperForDevice::EnablePcap(), ns3::MobilityHelper::Install(), ns3::WaveHelper::Install(), ns3::MakeCallback(), third::mobility, first::nodes, Receive(), ReceiveVsa(), ns3::YansWifiPhyHelper::SetChannel(), ns3::MobilityHelper::SetMobilityModel(), ns3::WifiPhyHelper::SetPcapDataLinkType(), ns3::MobilityHelper::SetPositionAllocator(), ns3::WaveNetDevice::SetReceiveCallback(), and ns3::WaveNetDevice::SetWaveVsaCallback().
Here is the call graph for this function:
|
private |
Receive function.
| dev | the device |
| pkt | the packet |
| mode | the mode |
| sender | the sender address |
Definition at line 121 of file wave-simple-device.cc.
References ns3::Time::GetSeconds(), 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:
|
private |
Receive VSA functon.
| pkt | the packet |
| address | the address |
Definition at line 239 of file wave-simple-device.cc.
References ns3::Time::GetSeconds(), and ns3::Now().
Referenced by CreateWaveNodes().
Here is the call graph for this function:
Here is the caller graph for this function:| void WaveNetDeviceExample::SendIpExample | ( | void | ) |
Send IP example function.
Definition at line 202 of file wave-simple-device.cc.
References ns3::WaveNetDevice::DeleteTxProfile(), ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::WaveNetDevice::RegisterTxProfile(), ns3::Simulator::Run(), SCH1, ns3::Simulator::Schedule(), ns3::Seconds(), SendIpPacket(), ns3::WaveNetDevice::StartSch(), ns3::Simulator::Stop(), and ns3::WaveNetDevice::StopSch().
Here is the call graph for this function:
|
private |
Send IP packet function.
| seq | the sequence |
| ipv6 | true if IPV6 |
Definition at line 185 of file wave-simple-device.cc.
References ns3::Packet::AddHeader(), first::devices, 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:
|
private |
Send one WSMP packet function.
| channel | the channel to use |
| seq | the sequence |
Definition at line 134 of file wave-simple-device.cc.
References ns3::Packet::AddHeader(), first::devices, ns3::Mac48Address::GetBroadcast(), 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:| void WaveNetDeviceExample::SendWsaExample | ( | void | ) |
Send WSA example.
Definition at line 246 of file wave-simple-device.cc.
References ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::Mac48Address::GetBroadcast(), ns3::Simulator::Run(), SCH1, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::WaveNetDevice::StartSch(), ns3::WaveNetDevice::StartVsa(), ns3::Simulator::Stop(), ns3::WaveNetDevice::StopSch(), ns3::WaveNetDevice::StopVsa(), and ns3::VSA_TRANSMIT_IN_BOTHI.
Here is the call graph for this function:| void WaveNetDeviceExample::SendWsmpExample | ( | void | ) |
Send WSMP example function.
Definition at line 150 of file wave-simple-device.cc.
References CCH, ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::Simulator::Run(), SCH1, SCH2, ns3::Simulator::Schedule(), ns3::Seconds(), SendOneWsmpPacket(), ns3::WaveNetDevice::StartSch(), ns3::Simulator::Stop(), and ns3::WaveNetDevice::StopSch().
Here is the call graph for this function:
|
private |
the devices
Definition at line 85 of file wave-simple-device.cc.
|
private |
the nodes
Definition at line 84 of file wave-simple-device.cc.