#include <csma-helper.h>
Public Member Functions | |
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 | SetDeviceAttribute (std::string n1, const AttributeValue &v1) |
void | SetChannelAttribute (std::string n1, const AttributeValue &v1) |
NetDeviceContainer | Install (Ptr< Node > node) const |
NetDeviceContainer | Install (std::string name) const |
NetDeviceContainer | Install (Ptr< Node > node, Ptr< CsmaChannel > channel) const |
NetDeviceContainer | Install (Ptr< Node > node, std::string channelName) const |
NetDeviceContainer | Install (std::string nodeName, Ptr< CsmaChannel > channel) const |
NetDeviceContainer | Install (std::string nodeName, std::string channelName) const |
NetDeviceContainer | Install (const NodeContainer &c) const |
NetDeviceContainer | Install (const NodeContainer &c, Ptr< CsmaChannel > channel) const |
NetDeviceContainer | Install (const NodeContainer &c, std::string channelName) const |
void | InstallStar (Ptr< Node > hub, NodeContainer spokes, NetDeviceContainer &hubDevices, NetDeviceContainer &spokeDevices) |
Make a star network topology. | |
void | InstallStar (std::string hubName, NodeContainer spokes, NetDeviceContainer &hubDevices, NetDeviceContainer &spokeDevices) |
Make a star network topology. | |
Static Public Member Functions | |
static void | EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid, bool promiscuous) |
static void | EnablePcap (std::string filename, Ptr< NetDevice > nd, bool promiscuous) |
static void | EnablePcap (std::string filename, std::string ndName, bool promiscuous) |
static void | EnablePcap (std::string filename, NetDeviceContainer d, bool promiscuous) |
static void | EnablePcap (std::string filename, NodeContainer n, bool promiscuous) |
static void | EnablePcapAll (std::string filename, bool promiscuous) |
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) |
static void ns3::CsmaHelper::EnableAscii | ( | std::ostream & | os, | |
NodeContainer | n | |||
) | [static] |
os | output stream | |
n | node container |
static void ns3::CsmaHelper::EnableAscii | ( | std::ostream & | os, | |
NetDeviceContainer | d | |||
) | [static] |
os | output stream | |
d | device container |
static void ns3::CsmaHelper::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. |
static void ns3::CsmaHelper::EnableAsciiAll | ( | std::ostream & | os | ) | [static] |
os | output stream |
static void ns3::CsmaHelper::EnablePcap | ( | std::string | filename, | |
NodeContainer | n, | |||
bool | promiscuous | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
n | container of nodes. | |
promiscuous | If true capture all possible packets available at the device. |
static void ns3::CsmaHelper::EnablePcap | ( | std::string | filename, | |
NetDeviceContainer | d, | |||
bool | promiscuous | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
d | container of devices of type ns3::CsmaNetDevice | |
promiscuous | If true capture all possible packets available at the device. |
static void ns3::CsmaHelper::EnablePcap | ( | std::string | filename, | |
std::string | ndName, | |||
bool | promiscuous | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
ndName | The name of the net device in which you want to enable tracing. | |
promiscuous | If true capture all possible packets available at the device. |
static void ns3::CsmaHelper::EnablePcap | ( | std::string | filename, | |
Ptr< NetDevice > | nd, | |||
bool | promiscuous | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
nd | Net device in which you want to enable tracing. | |
promiscuous | If true capture all possible packets available at the device. |
static void ns3::CsmaHelper::EnablePcap | ( | std::string | filename, | |
uint32_t | nodeid, | |||
uint32_t | deviceid, | |||
bool | promiscuous | |||
) | [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. | |
promiscuous | If true capture all possible packets available at the device. |
This method should be invoked after the network topology has been fully constructed.
static void ns3::CsmaHelper::EnablePcapAll | ( | std::string | filename, | |
bool | promiscuous | |||
) | [static] |
filename | filename prefix to use for pcap files. | |
promiscuous | If true capture all possible packets available at the device. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | const NodeContainer & | c, | |
std::string | channelName | |||
) | const |
For each Ptr<node> in the provided container, this method creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the provided channel to the device.
c | The NodeContainer holding the nodes to be changed. | |
channelName | The name of the channel to attach to the devices. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | const NodeContainer & | c, | |
Ptr< CsmaChannel > | channel | |||
) | const |
For each Ptr<node> in the provided container, this method creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the provided channel to the device.
c | The NodeContainer holding the nodes to be changed. | |
channel | The channel to attach to the devices. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | const NodeContainer & | c | ) | const |
This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute. For each Ptr<node> in the provided container: it creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the channel to the device.
c | The NodeContainer holding the nodes to be changed. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | std::string | nodeName, | |
std::string | channelName | |||
) | const |
This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.
nodeName | The name of the node to install the device in | |
channelName | The name of the chanel to attach to the device. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | std::string | nodeName, | |
Ptr< CsmaChannel > | channel | |||
) | const |
This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.
nodeName | The name of the node to install the device in | |
channel | The chanel to attach to the device. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | Ptr< Node > | node, | |
std::string | channelName | |||
) | const |
This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.
node | The node to install the device in | |
channelName | The name of the channel to attach to the device. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | Ptr< Node > | node, | |
Ptr< CsmaChannel > | channel | |||
) | const |
This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.
node | The node to install the device in | |
channel | The channel to attach to the device. |
NetDeviceContainer ns3::CsmaHelper::Install | ( | std::string | name | ) | const |
This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute, an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the channel to the device.
name | The name of the node to install the device in |
NetDeviceContainer ns3::CsmaHelper::Install | ( | Ptr< Node > | node | ) | const |
This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute, an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the channel to the device.
node | The node to install the device in |
void ns3::CsmaHelper::InstallStar | ( | std::string | hubName, | |
NodeContainer | spokes, | |||
NetDeviceContainer & | hubDevices, | |||
NetDeviceContainer & | spokeDevices | |||
) |
Make a star network topology.
Given a pointer to a node that will become the hub of the star, and a NodeContainer containing pointers to the nodes that will become the spokes; we construct CSMA net devices on the hub (corresponding to the spokes) and store them in the hubDevices NetDeviceContainer. We add a net device to each spoke node and store them in the spokeDevices NetDeviceContainer. A CSMA is created for each spoke.
Usually when one thinks of a star network, one thinks of point-to-point links. We're just using a single pair of devices on a multi-point-to-point network "drops" as the link. You are free to add any number of other devices on the link if you want.
The ordering of the devices in the hubDevices container is according to the order of the spokes container -- that is, hubDevices[0] will be the net device used on the hub that talks to spokes[0]. the container entry spokeDevices[0] will have the device that hubDevices[0] talks to -- those two devices are the ones that connect hub to spokes[0].
hubName | The name of the central node of the star network | |
spokes | A NodeContainer of the nodes that will be the spoke (leaf) nodes | |
hubDevices | A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on the hub. | |
spokeDevices | A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on each of the spokes. |
void ns3::CsmaHelper::InstallStar | ( | Ptr< Node > | hub, | |
NodeContainer | spokes, | |||
NetDeviceContainer & | hubDevices, | |||
NetDeviceContainer & | spokeDevices | |||
) |
Make a star network topology.
Given a pointer to a node that will become the hub of the star, and a NodeContainer containing pointers to the nodes that will become the spokes; we construct CSMA net devices on the hub (corresponding to the spokes) and store them in the hubDevices NetDeviceContainer. We add a net device to each spoke node and store them in the spokeDevices NetDeviceContainer. A CSMA is created for each spoke.
Usually when one thinks of a star network, one thinks of point-to-point links. We're just using a single pair of devices on a multi-point-to-point network "drops" as the link. You are free to add any number of other devices on the link if you want.
The ordering of the devices in the hubDevices container is according to the order of the spokes container -- that is, hubDevices[0] will be the net device used on the hub that talks to spokes[0]. the container entry spokeDevices[0] will have the device that hubDevices[0] talks to -- those two devices are the ones that connect hub to spokes[0].
hub | The central node of the star network | |
spokes | A NodeContainer of the nodes that will be the spoke (leaf) nodes | |
hubDevices | A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on the hub. | |
spokeDevices | A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on each of the spokes. |
void ns3::CsmaHelper::SetChannelAttribute | ( | std::string | n1, | |
const AttributeValue & | v1 | |||
) |
n1 | the name of the attribute to set | |
v1 | the value of the attribute to set |
void ns3::CsmaHelper::SetDeviceAttribute | ( | std::string | n1, | |
const AttributeValue & | v1 | |||
) |
n1 | the name of the attribute to set | |
v1 | the value of the attribute to set |
void ns3::CsmaHelper::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 |