ns3::EmuHelper Class Reference

build a set of EmuNetDevice objects More...

#include <emu-helper.h>

Collaboration diagram for ns3::EmuHelper:
Collaboration graph
[legend]

List of all members.

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< NetDeviceInstallPriv (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

Detailed Description

build a set of EmuNetDevice objects

Definition at line 38 of file emu-helper.h.


Constructor & Destructor Documentation

ns3::EmuHelper::EmuHelper (  ) 

Member Function Documentation

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]
Parameters:
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]
Parameters:
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]
Parameters:
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]
Parameters:
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]
Parameters:
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]
Parameters:
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]
Parameters:
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]
Parameters:
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.

Parameters:
c The NodeContainer holding the nodes to be changed.
Returns:
A containter holding the added net devices.

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.

Parameters:
node The node to install the device in
Returns:
A containter holding the added net device.

Definition at line 192 of file emu-helper.cc.

References InstallPriv().

Ptr< NetDevice > ns3::EmuHelper::InstallPriv ( Ptr< Node node  )  const [private]
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 
)
Parameters:
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 () 
)
Parameters:
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().


Member Data Documentation

Definition at line 190 of file emu-helper.h.

Referenced by EmuHelper(), InstallPriv(), and SetAttribute().

Definition at line 189 of file emu-helper.h.

Referenced by EmuHelper(), InstallPriv(), and SetQueue().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:11:32 2009 for NS-3 by  doxygen 1.6.3