helps to manage and create IEEE 802.15.4 NetDevice objects More...
#include <lr-wpan-helper.h>
Public Member Functions | |
LrWpanHelper (void) | |
Create a LrWpan helper in an empty state. More... | |
virtual | ~LrWpanHelper (void) |
void | AddMobility (Ptr< LrWpanPhy > phy, Ptr< MobilityModel > m) |
Add mobility model to a physical device. More... | |
int64_t | AssignStreams (NetDeviceContainer c, int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
void | AssociateToPan (NetDeviceContainer c, uint16_t panId) |
Associate the nodes to the same PAN. More... | |
void | EnableLogComponents (void) |
Helper to enable all LrWpan log components with one statement. More... | |
NetDeviceContainer | Install (NodeContainer c) |
![]() | |
PcapHelperForDevice () | |
Construct a PcapHelperForDevice. More... | |
virtual | ~PcapHelperForDevice () |
Destroy a PcapHelperForDevice. More... | |
void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device. More... | |
void | EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device using a device previously named using the ns-3 object name service. More... | |
void | EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false) |
Enable pcap output on each device in the container which is of the appropriate type. More... | |
void | EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false) |
Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container. More... | |
void | EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false) |
Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id. More... | |
void | EnablePcapAll (std::string prefix, bool promiscuous=false) |
Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More... | |
![]() | |
AsciiTraceHelperForDevice () | |
Construct an AsciiTraceHelperForDevice. More... | |
virtual | ~AsciiTraceHelperForDevice () |
Destroy an AsciiTraceHelperForDevice. More... | |
void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) |
Enable ascii trace output on the indicated net device. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) |
Enable ascii trace output on the indicated net device. More... | |
void | EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false) |
Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName) |
Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. More... | |
void | EnableAscii (std::string prefix, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
void | EnableAscii (std::string prefix, NodeContainer n) |
Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n) |
Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. More... | |
void | EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename) |
Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid) |
Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. More... | |
void | EnableAsciiAll (std::string prefix) |
Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More... | |
void | EnableAsciiAll (Ptr< OutputStreamWrapper > stream) |
Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More... | |
Static Public Member Functions | |
static std::string | LrWpanMacStatePrinter (LrWpanMacState e) |
static std::string | LrWpanPhyEnumerationPrinter (LrWpanPhyEnumeration) |
Private Member Functions | |
LrWpanHelper (LrWpanHelper const &) | |
virtual void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) |
Enable ascii trace output on the indicated net device. More... | |
virtual void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename) |
Enable pcap output on the indicated net device. More... | |
LrWpanHelper & | operator= (LrWpanHelper const &) |
Private Attributes | |
Ptr< SingleModelSpectrumChannel > | m_channel |
helps to manage and create IEEE 802.15.4 NetDevice objects
This class can help to create IEEE 802.15.4 NetDevice objects and to configure their attributes during creation. It also contains additional helper functions used by client code.
Definition at line 45 of file lr-wpan-helper.h.
ns3::LrWpanHelper::LrWpanHelper | ( | void | ) |
Create a LrWpan helper in an empty state.
Definition at line 52 of file lr-wpan-helper.cc.
References m_channel.
|
virtual |
Definition at line 59 of file lr-wpan-helper.cc.
References m_channel.
|
private |
void ns3::LrWpanHelper::AddMobility | ( | Ptr< LrWpanPhy > | phy, |
Ptr< MobilityModel > | m | ||
) |
Add mobility model to a physical device.
phy | the physical device |
m | the mobility model |
Definition at line 135 of file lr-wpan-helper.cc.
int64_t ns3::LrWpanHelper::AssignStreams | ( | NetDeviceContainer | c, |
int64_t | stream | ||
) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams that have been assigned. The Install() method should have previously been called by the user.
c | NetDeviceContainer of the set of net devices for which the CsmaNetDevice should be modified to use a fixed stream |
stream | first stream index to use |
Definition at line 160 of file lr-wpan-helper.cc.
References ns3::NetDeviceContainer::Begin(), and ns3::NetDeviceContainer::End().
void ns3::LrWpanHelper::AssociateToPan | ( | NetDeviceContainer | c, |
uint16_t | panId | ||
) |
Associate the nodes to the same PAN.
c | a set of nodes |
panId | the PAN Id |
Definition at line 177 of file lr-wpan-helper.cc.
References first::address, ns3::NetDeviceContainer::Begin(), ns3::Mac16Address::CopyFrom(), first::devices, and ns3::NetDeviceContainer::End().
Referenced by main().
|
privatevirtual |
Enable ascii trace output on the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
stream | The output stream object to use when logging ascii traces. |
prefix | Filename prefix to use for ascii trace files. |
nd | Net device for which you want to enable tracing. |
Implements ns3::AsciiTraceHelperForDevice.
Definition at line 255 of file lr-wpan-helper.cc.
References ns3::AsciiLrWpanMacTransmitSinkWithContext(), ns3::AsciiLrWpanMacTransmitSinkWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::AsciiTraceHelper::DefaultDequeueSinkWithContext(), ns3::AsciiTraceHelper::DefaultDropSinkWithContext(), ns3::AsciiTraceHelper::DefaultEnqueueSinkWithContext(), ns3::AsciiTraceHelper::DefaultReceiveSinkWithContext(), ns3::Packet::EnablePrinting(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::LrWpanNetDevice::GetMac(), ns3::AsciiTraceHelper::HookDefaultDequeueSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultDropSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultEnqueueSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultReceiveSinkWithoutContext(), ns3::MakeBoundCallback(), and NS_LOG_INFO.
void ns3::LrWpanHelper::EnableLogComponents | ( | void | ) |
Helper to enable all LrWpan log components with one statement.
Definition at line 66 of file lr-wpan-helper.cc.
References ns3::LOG_LEVEL_ALL, ns3::LOG_PREFIX_FUNC, ns3::LOG_PREFIX_TIME, ns3::LogComponentEnable(), and ns3::LogComponentEnableAll().
Referenced by main().
|
privatevirtual |
Enable pcap output on the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
prefix | Filename prefix to use for pcap files. |
nd | Net device for which you want to enable tracing. |
promiscuous | If true capture all possible packets available at the device. |
explicitFilename | Treat the prefix as an explicit filename if true |
Implements ns3::PcapHelperForDevice.
Definition at line 208 of file lr-wpan-helper.cc.
References ns3::PcapHelper::CreateFile(), ns3::PcapHelper::DLT_IEEE802_15_4, ns3::PcapHelper::GetFilenameFromDevice(), ns3::MakeBoundCallback(), NS_LOG_FUNCTION, NS_LOG_INFO, and ns3::PcapSniffLrWpan().
NetDeviceContainer ns3::LrWpanHelper::Install | ( | NodeContainer | c | ) |
c | a set of nodes |
Definition at line 141 of file lr-wpan-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::NodeContainer::Begin(), first::devices, ns3::NodeContainer::End(), and m_channel.
Referenced by main().
|
static |
Definition at line 117 of file lr-wpan-helper.cc.
References ns3::CHANNEL_ACCESS_FAILURE, ns3::CHANNEL_IDLE, ns3::MAC_IDLE, and ns3::SET_PHY_TX_ON.
|
static |
Definition at line 81 of file lr-wpan-helper.cc.
References ns3::IEEE_802_15_4_PHY_BUSY, ns3::IEEE_802_15_4_PHY_BUSY_RX, ns3::IEEE_802_15_4_PHY_BUSY_TX, ns3::IEEE_802_15_4_PHY_FORCE_TRX_OFF, ns3::IEEE_802_15_4_PHY_IDLE, ns3::IEEE_802_15_4_PHY_INVALID_PARAMETER, ns3::IEEE_802_15_4_PHY_READ_ONLY, ns3::IEEE_802_15_4_PHY_RX_ON, ns3::IEEE_802_15_4_PHY_SUCCESS, ns3::IEEE_802_15_4_PHY_TRX_OFF, ns3::IEEE_802_15_4_PHY_TX_ON, ns3::IEEE_802_15_4_PHY_UNSPECIFIED, and ns3::IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE.
Referenced by StateChangeNotification().
|
private |
|
private |
Definition at line 133 of file lr-wpan-helper.h.
Referenced by Install(), LrWpanHelper(), and ~LrWpanHelper().