build a set of EmuNetDevice objects More...
#include <emu-helper.h>
Public Member Functions | |
EmuHelper () | |
void | SetQueue (std::string type, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue()) |
void | SetAttribute (std::string n1, const AttributeValue &v1) |
NetDeviceContainer | Install (Ptr< Node > node) const |
NetDeviceContainer | Install (const NodeContainer &c) const |
Static Public Member Functions | |
static void | EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid) |
static void | EnablePcap (std::string filename, NetDeviceContainer d) |
static void | EnablePcap (std::string filename, NodeContainer n) |
static void | EnablePcapAll (std::string filename) |
static void | EnableAscii (std::ostream &os, uint32_t nodeid, uint32_t deviceid) |
static void | EnableAscii (std::ostream &os, NetDeviceContainer d) |
static void | EnableAscii (std::ostream &os, NodeContainer n) |
static void | EnableAsciiAll (std::ostream &os) |
Private Member Functions | |
Ptr< NetDevice > | InstallPriv (Ptr< Node > node) const |
Static Private Member Functions | |
static void | RxEvent (Ptr< PcapWriter > writer, Ptr< const Packet > packet) |
static void | EnqueueEvent (Ptr< PcapWriter > writer, Ptr< const Packet > packet) |
static void | AsciiEnqueueEvent (std::ostream *os, std::string path, Ptr< const Packet > packet) |
static void | AsciiDequeueEvent (std::ostream *os, std::string path, Ptr< const Packet > packet) |
static void | AsciiDropEvent (std::ostream *os, std::string path, Ptr< const Packet > packet) |
static void | AsciiRxEvent (std::ostream *os, std::string path, Ptr< const Packet > packet) |
Private Attributes | |
ObjectFactory | m_queueFactory |
ObjectFactory | m_deviceFactory |
build a set of EmuNetDevice objects
Definition at line 38 of file emu-helper.h.
ns3::EmuHelper::EmuHelper | ( | ) |
Definition at line 36 of file emu-helper.cc.
References m_deviceFactory, m_queueFactory, NS_LOG_FUNCTION_NOARGS, and ns3::ObjectFactory::SetTypeId().
void ns3::EmuHelper::AsciiDequeueEvent | ( | std::ostream * | os, | |
std::string | path, | |||
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 248 of file emu-helper.cc.
References ns3::TimeUnit< 1 >::GetSeconds(), ns3::Now(), and NS_LOG_FUNCTION.
Referenced by EnableAscii().
void ns3::EmuHelper::AsciiDropEvent | ( | std::ostream * | os, | |
std::string | path, | |||
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 259 of file emu-helper.cc.
References ns3::TimeUnit< 1 >::GetSeconds(), ns3::Now(), and NS_LOG_FUNCTION.
Referenced by EnableAscii().
void ns3::EmuHelper::AsciiEnqueueEvent | ( | std::ostream * | os, | |
std::string | path, | |||
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 237 of file emu-helper.cc.
References ns3::TimeUnit< 1 >::GetSeconds(), ns3::Now(), and NS_LOG_FUNCTION.
Referenced by EnableAscii().
void ns3::EmuHelper::AsciiRxEvent | ( | std::ostream * | os, | |
std::string | path, | |||
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 270 of file emu-helper.cc.
References ns3::TimeUnit< 1 >::GetSeconds(), ns3::Now(), and NS_LOG_FUNCTION.
Referenced by EnableAscii().
void ns3::EmuHelper::EnableAscii | ( | std::ostream & | os, | |
NodeContainer | n | |||
) | [static] |
os | output stream | |
n | node container |
Enable ascii output on each device which is of the ns3::EmuNetDevice type and which is located in one of the input node and dump that to the specified stdc++ output stream.
Definition at line 169 of file emu-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), EnableAscii(), ns3::NodeContainer::End(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnableAscii | ( | std::ostream & | os, | |
NetDeviceContainer | d | |||
) | [static] |
os | output stream | |
d | device container |
Enable ascii output on each device which is of the ns3::EmuNetDevice type and which is located in the input device container and dump that to the specified stdc++ output stream.
Definition at line 158 of file emu-helper.cc.
References ns3::NetDeviceContainer::Begin(), EnableAscii(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnableAscii | ( | std::ostream & | os, | |
uint32_t | nodeid, | |||
uint32_t | deviceid | |||
) | [static] |
os | output stream | |
nodeid | the id of the node to generate ascii output for. | |
deviceid | the id of the device to generate ascii output for. |
Enable ascii output on the specified deviceid within the specified nodeid if it is of type ns3::EmuNetDevice and dump that to the specified stdc++ output stream.
Definition at line 127 of file emu-helper.cc.
References AsciiDequeueEvent(), AsciiDropEvent(), AsciiEnqueueEvent(), AsciiRxEvent(), ns3::Config::Connect(), ns3::Packet::EnablePrinting(), ns3::MakeBoundCallback(), and NS_LOG_FUNCTION.
Referenced by EnableAscii(), and EnableAsciiAll().
void ns3::EmuHelper::EnableAsciiAll | ( | std::ostream & | os | ) | [static] |
os | output stream |
Enable ascii output on each device which is of the ns3::EmuNetDevice type and dump that to the specified stdc++ output stream.
Definition at line 185 of file emu-helper.cc.
References EnableAscii(), ns3::NodeContainer::GetGlobal(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnablePcap | ( | std::string | filename, | |
NodeContainer | n | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
n | container of nodes. |
Enable pcap output on each device which is of the ns3::EmuNetDevice type and which is located in one of the input nodes.
Definition at line 104 of file emu-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), EnablePcap(), ns3::NodeContainer::End(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnablePcap | ( | std::string | filename, | |
NetDeviceContainer | d | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
d | container of devices of type ns3::EmuNetDevice |
Enable pcap output on each input device which is of the ns3::EmuNetDevice type.
Definition at line 93 of file emu-helper.cc.
References ns3::NetDeviceContainer::Begin(), EnablePcap(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnablePcap | ( | std::string | filename, | |
uint32_t | nodeid, | |||
uint32_t | deviceid | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
nodeid | the id of the node to generate pcap output for. | |
deviceid | the id of the device to generate pcap output for. |
Generate a pcap file which contains the link-level data observed by the specified deviceid within the specified nodeid. The pcap data is stored in the file prefix-nodeid-deviceid.pcap.
This method should be invoked after the network topology has been fully constructed.
Definition at line 67 of file emu-helper.cc.
References ns3::Config::ConnectWithoutContext(), EnqueueEvent(), ns3::MakeBoundCallback(), NS_LOG_FUNCTION, and RxEvent().
Referenced by EnablePcap(), and EnablePcapAll().
void ns3::EmuHelper::EnablePcapAll | ( | std::string | filename | ) | [static] |
filename | filename prefix to use for pcap files. |
Enable pcap output on each device which is of the ns3::EmuNetDevice type
Definition at line 120 of file emu-helper.cc.
References EnablePcap(), ns3::NodeContainer::GetGlobal(), and NS_LOG_FUNCTION.
void ns3::EmuHelper::EnqueueEvent | ( | Ptr< PcapWriter > | writer, | |
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 223 of file emu-helper.cc.
References NS_LOG_FUNCTION.
Referenced by EnablePcap().
NetDeviceContainer ns3::EmuHelper::Install | ( | const NodeContainer & | c | ) | const |
For each Ptr<node> in the provided container this method creates an ns3::EmuNetDevice (with the attributes configured by EmuHelper::SetDeviceAttribute); adds the device to the node.
c | The NodeContainer holding the nodes to be changed. |
Definition at line 198 of file emu-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), and InstallPriv().
NetDeviceContainer ns3::EmuHelper::Install | ( | Ptr< Node > | node | ) | const |
This method creates an ns3::EmuNetDevice with the attributes configured by EmuHelper::SetDeviceAttribute and then adds the device to the node.
node | The node to install the device in |
Definition at line 192 of file emu-helper.cc.
References InstallPriv().
Definition at line 211 of file emu-helper.cc.
References ns3::Mac48Address::Allocate(), ns3::ObjectFactory::Create(), m_deviceFactory, and m_queueFactory.
Referenced by Install().
void ns3::EmuHelper::RxEvent | ( | Ptr< PcapWriter > | writer, | |
Ptr< const Packet > | packet | |||
) | [static, private] |
Definition at line 230 of file emu-helper.cc.
References NS_LOG_FUNCTION.
Referenced by EnablePcap().
void ns3::EmuHelper::SetAttribute | ( | std::string | n1, | |
const AttributeValue & | v1 | |||
) |
n1 | the name of the attribute to set | |
v1 | the value of the attribute to set |
Set these attributes on each ns3::EmuNetDevice created by EmuHelper::Install
Definition at line 60 of file emu-helper.cc.
References m_deviceFactory, NS_LOG_FUNCTION_NOARGS, and ns3::ObjectFactory::Set().
void ns3::EmuHelper::SetQueue | ( | std::string | type, | |
std::string | n1 = "" , |
|||
const AttributeValue & | v1 = EmptyAttributeValue () , |
|||
std::string | n2 = "" , |
|||
const AttributeValue & | v2 = EmptyAttributeValue () , |
|||
std::string | n3 = "" , |
|||
const AttributeValue & | v3 = EmptyAttributeValue () , |
|||
std::string | n4 = "" , |
|||
const AttributeValue & | v4 = EmptyAttributeValue () | |||
) |
type | the type of queue | |
n1 | the name of the attribute to set on the queue | |
v1 | the value of the attribute to set on the queue | |
n2 | the name of the attribute to set on the queue | |
v2 | the value of the attribute to set on the queue | |
n3 | the name of the attribute to set on the queue | |
v3 | the value of the attribute to set on the queue | |
n4 | the name of the attribute to set on the queue | |
v4 | the value of the attribute to set on the queue |
Set the type of queue to create and associated to each EmuNetDevice created through EmuHelper::Install.
Definition at line 44 of file emu-helper.cc.
References m_queueFactory, NS_LOG_FUNCTION_NOARGS, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
ObjectFactory ns3::EmuHelper::m_deviceFactory [private] |
Definition at line 190 of file emu-helper.h.
Referenced by EmuHelper(), InstallPriv(), and SetAttribute().
ObjectFactory ns3::EmuHelper::m_queueFactory [private] |
Definition at line 189 of file emu-helper.h.
Referenced by EmuHelper(), InstallPriv(), and SetQueue().